Function retryPromiseFn

  • Retry a function until it succeeds or times out

    Returns

    retried function

    ```typescript it('should retryPromiseFn works', async () => { const fn = vi.fn(() => Promise.resolve('done')) const retryFn = retryPromiseFn(fn) expect(retryFn()).resolves.toEqual('done')

     const times = 3
    const errorFn = vi.fn(() => Promise.reject(new Error('error')))
    const onFail = vi.fn(async () => {
    await sleep(10)
    })
    const retryFn2 = retryPromiseFn(errorFn, { times, onFail })
    await expect(retryFn2()).rejects.toThrowError('error')
    expect(onFail).toHaveBeenCalledTimes(times)

    })

    • ```

    Type Parameters

    • T extends any[] = []

    • V = any

    Parameters

    • fn: ((...args: T) => Promise<V>)

      async function to be retried

        • (...args: T): Promise<V>
        • Parameters

          • Rest ...args: T

          Returns Promise<V>

    • options: undefined | RetryOptions = {}

      retry options

    Returns ((...args: T) => Promise<undefined | V>)

      • (...args: T): Promise<undefined | V>
      • Parameters

        • Rest ...args: T

        Returns Promise<undefined | V>

Generated using TypeDoc