JS HTTP 请求库哪家强?Axios,Request,Superagent,Fetch 还是 Supertest .
Web 开发中客户端与服务器间的交互非常重要,它有利于客户端应用高度动态化。用户通过单击按钮的交互方式向服务器发送请求,服务器检索数据并返回,页面无需重新加载,直接使用返回的数据重新渲染其部分/整体内容,或者对数据进行操作。
这其中的技术原理是 AJAX,通过 XMLHttpRequest 实例实现。 为了提升 AJAX 及 XMLHttpRequest 的使用体验,社区开发了一些无需处理 AJAX 和 XMLHttpRequest 就直接发出 HTTP 请求的库。
本文将带你研究 5 个流行的 HTTP 库,了解它们是如何实现的。 希望能帮你省下一些时间。
提示:通过与 Bit 共享同步公共组件可以避免代码重复。 把相同的功能的代码变成共享组件,就可以随处使用它了,构建快,赶紧试试看。
Axios
基于 Promise 的 HTTP 客户端,可用于浏览器和 Node.js
Axios 是一个基于 Promise 的 HTTP 库,可用在 Node.js 和浏览器上发起 HTTP 请求,支持所有现代浏览器,包括 IE8+!
优点
同时支持 Node.js 和浏览器
支持 Promise API
可以配置或取消请求
可以设置响应超时
支持防止跨站点请求伪造(XSRF)攻击
可以拦截未执行的请求或响应
支持显示上传进度
广泛用于 React 和 Vue 项目
缺点
用起来比较麻烦
Superagent
改良版 Ajax——与 Node.js HTTP 客户端搭配使用
Superagent 是一个基于 Promise 的轻量级渐进式 AJAX API,非常适合发送 HTTP 请求以及接收服务器响应。 与 Axios 相同,它既适用于 Node,也适用于所有现代浏览器。
用 Superagent 发起 HTTP 请求就像在 request 对象上调用方法一样简单:
优点
它有一个插件生态,通过构建插件可以实现较多功能
可配置
HTTP 请求发送接口友好
可以为请求链式添加方法
适用于浏览器和 Node
支持显示上传和下载进度
支持分块传输编码
支持旧风格的回调
繁荣的插件生态,支持众多常见功能
缺点
其 API 不符合任何标准
Request
编辑:--ns868