UNPKG

1.12 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4const defer_1 = require("./defer");
5function tryFAsync(f) {
6 return tslib_1.__awaiter(this, void 0, void 0, function* () {
7 try {
8 return f();
9 }
10 catch (e) {
11 return Promise.reject(e);
12 }
13 });
14}
15exports.tryFAsync = tryFAsync;
16function autoRetryAsync(f, retry_delay = 1000) {
17 return tslib_1.__awaiter(this, void 0, void 0, function* () {
18 try {
19 return yield f();
20 }
21 catch (e) {
22 if (retry_delay > 0) {
23 const defer = defer_1.createDefer();
24 setTimeout(() => {
25 autoRetryAsync(f, retry_delay)
26 .then(defer.resolve)
27 .catch(defer.reject);
28 }, retry_delay);
29 return defer.promise;
30 }
31 else {
32 return yield autoRetryAsync(f, retry_delay);
33 }
34 }
35 });
36}
37exports.autoRetryAsync = autoRetryAsync;
38//# sourceMappingURL=defend.js.map
\No newline at end of file