Function retry

  • retry<T>(fn: (() => Promise<T>), maxRetries??: number, timeout??: number | ((currentAttemptCount: number) => number)): Promise<T>
  • Utility to re-run the given promise function until it resolves or until the number of tries was exceeded.

    Example

    // try up to four times with 2s delay between each try
    const model = await retry(Model.find(1), 4, 2000);

    Returns

    Type Parameters

    • T

    Parameters

    • fn: (() => Promise<T>)

      The function returning a promise to be called.

        • (): Promise<T>
        • Returns Promise<T>

    • Optional maxRetries: number = 3

      The number of times the function should be retried.

    • Optional timeout: number | ((currentAttemptCount: number) => number) = 0

      The wait time between attempts in milliseconds. If 0, it will not wait. If a function, it will be called with the number of retries left.

    Returns Promise<T>

Generated using TypeDoc