fix: apply fix from eslint

This commit is contained in:
JellyBrick
2024-01-16 21:02:55 +09:00
parent 26de7f940e
commit 9d136c8dd5

View File

@ -74,22 +74,23 @@ function memoize<T extends (...params: unknown[]) => unknown>(fn: T): T {
}) as T; }) as T;
} }
function retry<T extends (...params: unknown[]) => unknown>( function retry<T extends (...params: unknown[]) => Promise<unknown>>(
fn: T, fn: T,
{ retries = 3, delay = 1000 } = {}, { retries = 3, delay = 1000 } = {},
): T { ) {
return ((...args) => { return async (...args: unknown[]) => {
try { let latestError: unknown;
return fn(...args); while (retries > 0) {
} catch (error) { try {
if (retries > 0) { return await fn(...args);
} catch (error) {
retries--; retries--;
setTimeout(() => retry(fn, { retries, delay })(...args), delay); await new Promise((resolve) => setTimeout(resolve, delay));
} else { latestError = error;
throw error;
} }
} }
}) as T; throw latestError;
};
} }
export default { export default {