Configuration for retry behavior

Example

const retryConfig: RetryConfig = {
attempts: 3,
delay: 1000,
maxDelay: 30000,
backoff: 'exponential',
shouldRetry: (error) => error.name === 'NetworkError',
onRetry: (error, attempt) => console.log(`Retry ${attempt}`),
};
interface RetryConfig {
    attempts: number;
    delay: number;
    maxDelay?: number;
    backoff: "fixed" | "exponential" | "linear";
    shouldRetry?: ((error, ctx) => boolean);
    onRetry?: ((error, attempt, ctx) => void);
}

Properties

attempts: number

Maximum number of retry attempts (default: 3)

delay: number

Initial delay in ms (default: 1000)

maxDelay?: number

Maximum delay in ms (default: 30000)

backoff: "fixed" | "exponential" | "linear"

Backoff strategy (default: 'exponential')

shouldRetry?: ((error, ctx) => boolean)

Custom retry condition - return true to retry, false to stop

Type declaration

    • (error, ctx): boolean
    • Parameters

      Returns boolean

onRetry?: ((error, attempt, ctx) => void)

Callback invoked before each retry attempt

Type declaration

    • (error, attempt, ctx): void
    • Parameters

      Returns void