advanced
Retry Logic with Async
Implement retry logic for failed async operations.
interface RetryOptions {
maxAttempts: number;
delayMs: number;
}
async function sleep(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
async function withRetry<T>(
fn: () => Promise<T>,
options: RetryOptions
): Promise<T> {
let lastError: Error | undefined;
for (let attempt = 1; attempt <= __________...; attempt++) {
try {
return __________;
} catch (error) {
lastError = error as Error;
if (attempt < options.maxAttempts) {
__________...;
}
}
}
__________...;
}0/4 filled tab moves · Ctrl+↵ submits · Ctrl+Shift+↵ runsstarter code