Function: createExponentialBackoffDelayGenerator()
Source: AutoRetry.ts
Import
ts
import { createExponentialBackoffDelayGenerator } from '@litert/utils-async';Signature
ts
function createExponentialBackoffDelayGenerator(
base?: number,
factor?: number,
): IRetryDelayGenerator;Description
Creates a delay generator that returns base * factor^attempt for each attempt number. Use this with compositeRetryDelayGenerator() or directly in an autoRetry beforeRetry callback.
Parameters
- Parameter
base?: number(default:1000) — Base delay in milliseconds for attempt 0. - Parameter
factor?: number(default:2) — Multiplier applied for each successive attempt.
Return Value
An IRetryDelayGenerator function that accepts an attempt number and returns the computed delay in milliseconds.
Error Handling
RangeError— Thrown by the returned generator ifattemptis negative or non-integer.
Example
ts
import { createExponentialBackoffDelayGenerator } from '@litert/utils-async';
const gen = createExponentialBackoffDelayGenerator(100, 2);
gen(0); // 100
gen(1); // 200
gen(2); // 400
gen(3); // 800