简介
@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)
设置请求方法。支持 GET
、POST
、PUT
、DELETE
。
---------- - ------- ------ ---
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