This commit is contained in:
Eric Bailey
2025-05-08 15:27:53 -05:00
parent dd01bdd91d
commit 21601390e4
3 changed files with 41 additions and 4 deletions
+6
View File
@@ -1,9 +1,11 @@
import {timeout} from '#/lib/async/timeout'
import {isNetworkError} from '#/lib/strings/errors'
export async function retry<P>(
retries: number,
cond: (err: any) => boolean,
fn: () => Promise<P>,
delay?: number,
): Promise<P> {
let lastErr
while (retries > 0) {
@@ -11,7 +13,11 @@ export async function retry<P>(
return await fn()
} catch (e: any) {
lastErr = e
// should retry?
if (cond(e)) {
if (delay) {
await timeout(delay)
}
retries--
continue
}