UNPKG

@onesy/utils

Version:
12 lines (11 loc) 507 B
const asyncMethodRetry = function (method) { let retries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4; let timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 40; return new Promise((resolve, reject) => { method().then(resolve).catch(error => { if (retries <= 1) return reject(error); setTimeout(() => asyncMethodRetry(method, retries - 1, timeout).then(resolve, reject), timeout); }); }); }; export default asyncMethodRetry;