@ dcl/ fetch- 组件
获取核心组件库的组件 。 它将默认节点包起来 fetch
包含重试、超时和默认选项支持的 API, 并意在用于
在默认节点运行时运行的服务器.
安装
npm install @dcl/fetch-component
使用量
import { createFetchComponent } from '@dcl/fetch-component'
const fetcher = createFetchComponent({
defaultHeaders: { 'X-Custom': 'value' }
})
const response = await fetcher.fetch('https://api.example.com/data', {
method: 'GET',
attempts: 3,
retryDelay: 100,
timeout: 5000
})
const data = await response.json()
特征
- 被默认节点后退
fetchAPI( 无)cross-fetch编号 :node-fetch扶养) - 二. 自动重试,用于一意孤行的请求(
GET, (中文(简体) ),HEAD, (中文(简体) ),OPTIONS, (中文(简体) ),PUT, (中文(简体) ),DELETE(中文(简体) ) - 重试可重试状态代码和网络级别失败( DNS, 连接拒绝/ 重置, 套接字挂起)
- 每个请求可配置重试延迟和超时
- 默认信头和默认请求选项
- 类型安全通过共享
IFetchComponent类型从@dcl/core-commons
请求选项
除了标准 RequestInit 选项, fetch 接受:
attempts- 在放弃前试图提出专有请求的次数retryDelay- 在尝试中等待毫秒timeout- 在中止请求前等待毫秒abortController- 一个AbortController用于中止请求
不可重试状态代码( E)400, (中文(简体) ), 401, (中文(简体) ), 403, (中文(简体) ), 404)和非专有能力
方法从不重复。 网络级别失败( 被拒绝) fetch已经
重复试验,直到 attempts 时间;一旦重试
已用尽 .
许可证
阿帕奇 - 2.0