@ambassify/fetch-retried

中文文档
2.2.0发布于 2025/10/02MITCommonJS近 30 天下载 1923

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

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 选项
  4. 后退战略
  5. 贡献
  6. 许可证
  7. 关于我们

获取重试

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

安装

npm install --save @ambassify/fetch-retried

使用量

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

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')(中文(简体) )

后退战略

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

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()
})

指数

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

二进制

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

贡献

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

许可证

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

关于我们

如果你想知道更多关于我们的事 请看看 我们的网站,或者我们的Twitter账户 解析, (中文(简体) ), 场地基地, (中文(简体) ), 豪尔根 Evens

版本与发布记录

@ambassify/fetch-retried 共发布 12 个版本,首次发布于 2017/01/18;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.2.0latest2025/10/021.1 年前
2.1.02025/10/021.1 年前
2.0.52025/10/021.1 年前
2.0.42023/02/033 年前
2.0.32021/09/025 年前
2.0.22020/04/306 年前

关于 @ambassify/fetch-retried 的常见问题

@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 和提交记录判断。