# @ambassify/fetch-retried 中文文档

规范地址：https://npmcn.com/package/%40ambassify/fetch-retried/

版本：2\.2\.0
npm 元数据更新时间：2025-10-09T08:36:23.716Z
中文译文更新时间：2026-11-08T03:11:08.884Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40ambassify/fetch-retried
原文对照：https://npmcn.com/package/%40ambassify/fetch-retried/?lang=original
项目主页：https://github.com/ambassify/fetch-retried#readme
源码仓库：https://github.com/ambassify/fetch-retried

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：28.6 kB，16 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2017-01-18T11:46:21.228Z
- 最新版本发布：2025-10-02T10:45:43.694Z
- 近 30 天下载量：1923（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 0 个）

## 中文简介

使用获取 API 来运行请求, 执行重试

## 安装

```sh
npm install @ambassify/fetch-retried
```

也可以使用：`pnpm add @ambassify/fetch-retried`、`yarn add @ambassify/fetch-retried`、`bun add @ambassify/fetch-retried`

## README

# 获取重试

使用获取 API 来运行请求, 执行重试

## 安装

```shell
npm install --save @ambassify/fetch-retried
```

## 使用量

你可以像往常一样使用取回的 api 。 唯一不同的是源头 您的获取方法。 您在此使用取取 将使用您想要的配置 .

```javascript
const fetchRetried = require('@ambassify/fetch-retried');
const fetch = fetchRetried({ delay: 100 });

fetch('https://www.google.com')
    .then(resp => resp.json())
    .then(json => console.log(json));
```

## 选项

所有选项都是可选的,并有默认值.

-   **延迟**: 当使用默认值时 `exponential` 备份,用于计算超时的延迟。 否则,一种计算所用超时的方法。 (默认 : `200`(中文(简体) )
-   **重试**:重试请求的次数. (默认 : `5`(中文(简体) )
-   **正则**: 确定请求是否通过返回而成功的方法 `true` 或者说 `false` 当通过一个答复。 (默认 : `(resp) => resp.ok`(中文(简体) )
-   **应重试错误**: 当获取错误时, 此方法通过返回来确定请求是否被重试 `true` 或者说 `false` (默认 : `() => true`(中文(简体) )
-   **重试方法**: 要重试的 HTTP 动词( 默认 ): `['PUT', 'DELETE', 'GET', 'HEAD', 'PATCH', 'OPTIONS']`) (中文(简体) ).
-   **应重试**:允许您推翻默认方法来检查是否应该尝试重试 。 使用接受下列签名的函数: `shouldRetry(url, requestOptions, { attempts, config, error, response })`。 。 。 .
-   **获取**: 基础获取执行供使用。 (默认 : `require('node-fetch')`(中文(简体) )

### 后退战略

策略附于此软件包的默认导入后,可以使用.

```javascript
const fetchRetried = require('@ambassify/fetch-retried');

fetchRetried.exponential;
// OR
fetchRetried.binaryExponential;

// Usage:
const fetch = fetchRetried({
    delay: fetchRetried.exponential(10)
})
// OR
const fetch = fetchRetried({
    delay: fetchRetried.binaryExponential()
})
```

**指数**

```javascript
function exponential(delay) {
    return (attempts) => (attempts * attempts) * delay;
}
```

**二进制**

```javascript
function binaryExponential(delay = 1) {
    return (attempts) => (Math.pow(2, attempts) - 1) * delay;
}
```

## 贡献

我们真的很感激你的任何贡献 所以不要 不愿报告问题或提交拉动请求.

## 许可证

这个项目以麻省理工学院的许可证发放.

## 关于我们

如果你想知道更多关于我们的事 请看看 [我们的网站](https://www.ambassify.com/),或者我们的Twitter账户 [解析](https://twitter.com/Ambassify), (中文(简体) ), [场地基地](https://twitter.com/Sitebase), (中文(简体) ), [豪尔根 Evens](https://twitter.com/JorgenEvens)

## 常见问题

### @ambassify/fetch-retried 是什么？

使用获取 API 来运行请求, 执行重试

### 如何安装 @ambassify/fetch-retried？

在项目目录运行 npm install @ambassify/fetch-retried，或使用 pnpm add / yarn add / bun add。

### @ambassify/fetch-retried 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ambassify\_\_fetch-retried 是否存在。

### @ambassify/fetch-retried 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @ambassify/fetch-retried 可以商用吗？

@ambassify/fetch-retried 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @ambassify/fetch-retried 的下载量有多少？

根据 npm 官方下载统计，@ambassify/fetch-retried 在 2026/10/06 – 2026/11/04 这 30 天内被下载 1,923 次，日均约 64 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @ambassify/fetch-retried 还在维护吗？

最新版本 2\.2\.0 发布于 2025/10/02（1\.1 年前）；至今共发布 12 个版本，其中过去 12 个月发布了 0 个；首次发布于 2017/01/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

