myria-core-sdk
Version:
Latest version SDK
38 lines • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.waitFor = exports.retryPromise = exports.DELAY_IN_RETRY = exports.RETRY_DEFAULT = void 0;
exports.RETRY_DEFAULT = 3; // 3 times
exports.DELAY_IN_RETRY = 300; // 300 ms
// /**
// * @param promise A promise to resolve
// * @nthTry Number of tries before rejecting
// * @desc Retries a promise n no. of times before rejecting.
// * @returns resolved promise
// */
async function retryPromise(promise, nthTry, delayTime) {
try {
const data = await promise;
return data;
}
catch (e) {
if (nthTry === 1) {
return Promise.reject(e);
}
console.log('retrying', nthTry, 'time');
await waitFor(delayTime);
return retryPromise(promise, nthTry - 1, delayTime);
}
}
exports.retryPromise = retryPromise;
/**
* Util function to return a promise which is resolved in provided milliseconds
*/
function waitFor(millSeconds) {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, millSeconds);
});
}
exports.waitFor = waitFor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV0cnlVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9SZXRyeVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdhLFFBQUEsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVU7QUFDN0IsUUFBQSxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztBQUU1QyxNQUFNO0FBQ04seUNBQXlDO0FBQ3pDLDhDQUE4QztBQUM5Qyw4REFBOEQ7QUFDOUQsK0JBQStCO0FBQy9CLE1BQU07QUFDRSxLQUFLLFVBQVUsWUFBWSxDQUFDLE9BQVksRUFBRSxNQUFjLEVBQUUsU0FBaUI7SUFDakYsSUFBSTtRQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsT0FBTyxZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDckQ7QUFDSCxDQUFDO0FBYkEsb0NBYUE7QUFFRDs7R0FFRztBQUNGLFNBQWdCLE9BQU8sQ0FBQyxXQUFtQjtJQUMxQyxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQU5BLDBCQU1BIn0=