@autobe/agent
Version:
AI backend server code generator
16 lines (15 loc) • 363 B
text/typescript
export const forceRetry = async <T>(
task: () => Promise<T>,
count: number = 3,
predicate?: (error: unknown) => boolean,
): Promise<T> => {
let error: unknown = undefined;
for (let i: number = 0; i < count; ++i)
try {
return await task();
} catch (e) {
if (predicate?.(e) === false) throw e;
error = e;
}
throw error;
};