npm 包 @36node/fetch 使用教程

阅读时长 5 分钟读完

简介

@36node/fetch 是一个开源的 Node.js HTTP 请求库,可以在 Node.js 环境下调用 HTTP 接口,方便易用。它基于 Node.js 的 http 模块封装,支持超时、重试、拦截器等功能。

安装

使用 npm 安装 @36node/fetch:

使用方法

首先,需要引用 @36node/fetch:

@36node/fetch 的主要方法是 request,默认为 GET 请求,可以通过方法链式调用灵活配置:

-- -------------------- ---- -------
----------
  --------------
  ---------
  -------- ---- ------- --
  -------------- -- -
    -- ------ --------
  --
  ---------- -- -
    -- ------ -----
  ---

API 说明

fetch(url[, options])

fetch(url[, options]) 发起一个 HTTP 请求,返回一个 Promise 对象。

  • url {string} 请求的地址。
  • options {Object} 可选项。

options

  • method {string} 请求方法。默认为 GET
  • headers {Object} 请求头,用于设置 HTTP 请求头部信息。
  • params {Object} URL 上的查询参数。
  • query {Object} 请求体中的查询参数。
  • body {Object | string | Buffer | Readable} 请求体中的参数,可以是对象、字符串、Buffer、流等。
  • timeout {number} 超时时间,单位为毫秒。默认为 5 秒。
  • retries {number} 重试次数。默认为 0。
  • interceptors {Function[]} 拦截器数组。
  • agent {http.Agent} 代理对象。
  • maxRedirects {number} 最大重定向次数。默认为 5。
  • rejectUnauthorized {boolean} 是否验证 SSL 证书。默认为 true。

request.method(method)

设置请求方法。支持 GETPOSTPUTDELETE

request.headers(headers)

设置请求头部信息。

request.query(query)

添加查询参数到 URL 上。

request.body(body)

添加请求体参数。

request.timeout(ms)

设置超时时间,单位为毫秒。

request.retry(times)

设置重试次数。

request.interceptors

设置拦截器数组。

-- -------------------- ---- -------
---------- -
  ------------- -
    -
      -------- ----------------- -
        -- ------
        ------ --------
      --
      --------- ------------------ -
        -- ------
        ------ ---------
      -
    -
  -
---

request.agent(agent)

设置代理对象。

request.maxRedirects(num)

设置最大重定向次数。

request.rejectUnauthorized(boolean)

设置是否验证 SSL 证书。

示例代码

-- -------------------- ---- -------
----- ----- - -------------------------
----- --- - ---------------------

----------
  --------------
  ---------
  -------- ---- ------- --
  -------------- -- -
    ----------------------
  --
  ---------- -- -
    -------------------
  ---

结论

@36node/fetch 是一个 Node.js HTTP 请求库,可以方便地发起 HTTP 请求,支持超时、重试、拦截器等常用功能。它的 API 设计合理,易于使用,并且具有良好的扩展性和可维护性。我们希望这篇文章可以帮助大家更好地使用 @36node/fetch。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/155219