@apollo/client
Version:
A fully-featured caching GraphQL client.
40 lines • 1.28 kB
TypeScript
import type { Operation } from "../core/index.js";
/**
* Advanced mode: a function that implements the strategy for calculating delays
* for particular responses.
*/
export interface DelayFunction {
(count: number, operation: Operation, error: any): number;
}
export interface DelayFunctionOptions {
/**
* The number of milliseconds to wait before attempting the first retry.
*
* Delays will increase exponentially for each attempt. E.g. if this is
* set to 100, subsequent retries will be delayed by 200, 400, 800, etc,
* until they reach maxDelay.
*
* Note that if jittering is enabled, this is the _average_ delay.
*
* Defaults to 300.
*/
initial?: number;
/**
* The maximum number of milliseconds that the link should wait for any
* retry.
*
* Defaults to Infinity.
*/
max?: number;
/**
* Whether delays between attempts should be randomized.
*
* This helps avoid thundering herd type situations by better distributing
* load during major outages.
*
* Defaults to true.
*/
jitter?: boolean;
}
export declare function buildDelayFunction(delayOptions?: DelayFunctionOptions): DelayFunction;
//# sourceMappingURL=delayFunction.d.ts.map