UNPKG

@beenotung/tslib

Version:
39 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.autoRetryAsync = exports.tryFAsync = void 0; const tslib_1 = require("tslib"); const defer_1 = require("./defer"); function tryFAsync(f) { return tslib_1.__awaiter(this, void 0, void 0, function* () { try { return f(); } catch (e) { return Promise.reject(e); } }); } exports.tryFAsync = tryFAsync; function autoRetryAsync(f, retry_delay = 1000) { return tslib_1.__awaiter(this, void 0, void 0, function* () { try { return yield f(); } catch (e) { if (retry_delay > 0) { const defer = defer_1.createDefer(); setTimeout(() => { autoRetryAsync(f, retry_delay) .then(defer.resolve) .catch(defer.reject); }, retry_delay); return defer.promise; } else { return yield autoRetryAsync(f, retry_delay); } } }); } exports.autoRetryAsync = autoRetryAsync; //# sourceMappingURL=defend.js.map