@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秒
)