介绍
requester 是一个基于 Node.js 的 HTTP 请求库,支持多种协议、拦截器、并发等。
它提供了一个简洁、易用的 API,适用于前端和后端开发。
安装
使用 npm 安装:
npm install @ianwalter/requester --save
使用
基本使用
-- -------------------- ---- ------- ----- --------- - ------------------------------- ----------- ---- ------------------------- ------- ------ -------- - ------------- ----------- - ----------- -- - --------------------- ------------ -- - ------------------ --
使用 requester
函数发起 HTTP 请求并获取响应,支持异步和同步调用。
url
和 method
参数是必须的,headers
是可选的。
请求完成后,requester
返回一个 Promise 对象,响应数据以 res
对象的形式提供。
高级使用
-- -------------------- ---- ------- ----- --------- - ------------------------------- ----- - ---------- - - --------------------------------------- ------------------------- ----------- ---- --------------------------- ------- ------- ----- - ------ ------- - ----------- -- - -------------------------- ------------ -- - ------------------ --
使用插件可以为请求和响应添加更多功能。
可以使用已有插件,如 @ianwalter/requester-plugins
;也可以自己编写插件。
在使用插件之前,要先通过 requester.use
注册插件。
在请求中增加 body
参数可以添加请求正文。
在响应中,res.body
属性提供了响应正文。
并发请求
-- -------------------- ---- ------- ----- --------- - ------------------------------- ------------- ----------- ---- ------------------------- --- ----------- ---- --------------------------------- -- ----------------- -- - ----------------------------------- ----------------------------------- ------------ -- - ------------------ --
使用 Promise.all
可以并发发起多个请求。
拦截器
-- -------------------- ---- ------- ----- --------- - ------------------------------- ----- ----------- - ------ -- - ------------------------- - -------------- ------ ------ - -------------------------- ----------- ---- ------------------------- ----------- -- - ---------------------------------------- ------------ -- - ------------------ --
使用拦截器可以处理请求和响应,如在请求中添加自定义头部、在响应中校验数据等。
拦截器是一个函数,接收请求配置对象,并返回修改后的配置对象或 Promise 对象。
使用 requester.use
注册拦截器。
总结
@ianwalter/requester
是一个功能丰富的 HTTP 请求库,支持多种功能、插件和拦截器,适用于前端和后端开发。
它提供了简洁的 API 和详细的文档,让开发者能够快速上手、灵活定制,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f70b259a9b7065299ccbb23