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

28 lines 862 B
export 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(); }); }; //# sourceMappingURL=waitUtils.js.map