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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18