# retry

URL: https://caijiao.org/radash/async/retry
Source: docs/radash/async/retry.md
Description: 运行异步函数并在失败时重试 '_.retry' 函数允许您运行异步函数，并在失败时自动重试

运行异步函数并在失败时重试




## 基本用法

`_.retry` 函数允许您运行异步函数，并在失败时自动重试。给定要运行的异步函数、可选的最大重试次数(`r`)和可选的重试间隔毫秒数(`d`)，给定的异步函数将被调用，重试 `r` 次，并在重试之间等待 `d` 毫秒。

`times` 选项默认为 `3`。`delay` 选项（默认为 null）可以指定尝试之间的睡眠毫秒数。

`backoff` 选项类似于 delay，但使用函数来控制睡眠 - 使指数退避变得容易。

```ts
import { retry } from 'radash'

await retry({}, api.users.list)
await retry({ times: 10 }, api.users.list)
await retry({ times: 2, delay: 1000 }, api.users.list)

// exponential backoff
await retry({ backoff: i => 10**i }, api.users.list)
```
