您当前位置: 南顺网络>> 官方资讯>> 建站知识

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