Skip to content

@pmun/utils / retry

Function: retry()

ts
function retry<T>(
   fn, 
   retries, 
delayMs): Promise<T>;

重试失败的 Promise

当 Promise 失败时,会自动重试指定次数,每次重试之间可以设置延迟时间。

Type Parameters

T

T

Parameters

fn

() => Promise<T>

返回 Promise 的函数

retries

number = 3

最大重试次数,默认为 3

delayMs

number = 1000

每次重试之间的延迟时间(毫秒),默认为 1000

Returns

Promise<T>

返回成功的结果,或在所有重试失败后抛出最后一次的错误

Example

ts
// 重试失败的请求
const data = await retry(() => fetch('/api/data').then(r => r.json()), 3, 1000)

// 自定义重试次数和延迟
await retry(
  () => riskyOperation(),
  5,  // 重试5次
  2000  // 每次间隔2秒
)