Intro

一个可以让异步任务支持重试的高阶函数。

A higher-order function that allows asynchronous tasks to support retries.

Demo

Types

export declare function withRetryAsync<T, P extends any[], R>(fn: (this: T, ...p: P) => Promise<R>, { 
/** 最多重试次数 */
maxCount, 
/**
 * @desc 每次重试之间的等待间隔时间
 */
retryInterval, 
/** 每次重试开始的回调,含第一次,第一次是1 */
onRetry, 
/**
 * @desciption 每次失败的回调
 */
onFailed, }?: {
    maxCount?: number | undefined;
    retryInterval?: number | undefined;
    onRetry?: ((i: number) => void) | undefined;
    onFailed?: ((i: number, lastFailedReason: unknown[]) => void) | undefined;
}): (this: T, ...p: P) => Promise<R>;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18