UNPKG

@message-queue-toolkit/core

Version:

Useful utilities, interfaces and base classes for message queue handling. Supports AMQP and SQS with a common abstraction on top currently

32 lines 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.waitAndRetry = void 0; const waitAndRetry = async (predicateFn, sleepTime = 20, maxRetryCount = 15) => { return new Promise((resolve, reject) => { let retryCount = 0; function performCheck() { if (maxRetryCount !== 0 && retryCount > maxRetryCount) { resolve(predicateFn()); } Promise.resolve() .then(() => { return predicateFn(); }) .then((result) => { if (result) { resolve(result); } else { retryCount++; setTimeout(performCheck, sleepTime); } }) .catch((err) => { reject(err); }); } performCheck(); }); }; exports.waitAndRetry = waitAndRetry; //# sourceMappingURL=waitUtils.js.map