diff --git a/lib/retry.mjs b/lib/retry.mjs index e5a35be..3e24d47 100644 --- a/lib/retry.mjs +++ b/lib/retry.mjs @@ -86,9 +86,20 @@ export const exclusive = (func, cooldown = 2000) => } else { - pending = pending - .then(() => sleep(cooldown)) - .then(() => func(...args)); + pending = (async () => + { + try + { + await pending; + } + catch + { + // Ignore errors from previous executions + } + + await sleep(cooldown); + return func(...args); + })(); } return pending;