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

JS HTTP 请求库哪家强?Axios,Request,Superagent,Fetch 还是 Supertest相关推荐

  1. Http Ajax技术哪家强?Axios、Superagent、Request、Fetch、Supertest技能大比拼!

    Http Ajax技术哪家强?Axios.Superagent.Request.Fetch.Supertest技能大比拼! 现在,当您了解所有最著名的 JavaScript 框架时,是时候介绍 202 ...

  2. CORS 请求未能成功_当遇到跨域开发时, 我们如何处理好前后端配置和请求库封装(koa/axios版)...

    我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们 ...

  3. 学习 axios 源码整体架构,打造属于自己的请求库

    前言 这是学习源码整体架构系列第六篇.整体架构这词语好像有点大,姑且就算是源码整体结构吧,主要就是学习是代码整体结构,不深究其他不是主线的具体函数的实现.本篇文章学习的是实际仓库的代码. 学习源码整体 ...

  4. axios - http请求库

    axios - http请求库 简介 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 使用cdn 使用npm npm install axios 1. ...

  5. axios 跨域_当遇到跨域开发时,我们如何处理好前后端配置和请求库封装

    我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们 ...

  6. network/request.js网络请求模块封装

    网络请求模块封装 import axios from "axios"; //引入axios模块export function request(config) {//1,创建axio ...

  7. 微信小程序 - 引入并使用 Fly.js 请求库(超级详细的教程及运行示例)提供 Fly.js 源码源文件下载,贴心的配置示例及注释,优雅快速的发起 http 网络请求

    前言 咱们在开发微信小程序时,市面上常见的 Axios 请求库无法使用,但好在 Fly.js(官网) 提供了解决方案. 网上大部分教程杂乱无章,本文将从 0 - 1 详细讲解整个引入请求库过程, 实现 ...

  8. python urllib.request 爬虫 数据处理-python爬虫1--urllib请求库之request模块

    urllib为python内置的HTTP请求库,包含四个模块: request:最基本的HTTP请求模块, 只需要传入URL和参数 error:异常处理模块 parse:工具模块,处理URL,拆分.解 ...

  9. python的网络请求库urllib、urllib2、urllib3、request的联系

    文章目录 1. 简介 2. urllib 3. urllib2 4. urllib3 5. requests 6. 相关文章 1. 简介 urllib.urllib2.urllib3.request均 ...

最新文章

  1. 一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程
  2. 我会手动创建线程,为什么让我使用线程池?
  3. 如何修复 Flutter 中的“正在检查 Dart SDK 版本... << 此时出乎意料”错误?
  4. boost::log::sources::severity_channel_logger_mt用法的测试程序
  5. Blazor 组件之间使用 EventCallback 进行通信
  6. 吴恩达《机器学习》 --- 神经网络
  7. WDS部署服务所用的PXE引导文件
  8. 蓝桥c++2013真题:逆波兰表达式(代码填空题)
  9. java获取文件大小_Java获取文件大小
  10. 监控mysql连接池信息_druid-带监控功能的数据库连接池
  11. Activity启动流程(三)Activity Task调度算法复盘分析
  12. 金融信创云:从遥不可及到价值担当
  13. 计算机应用程序无响应怎么回事啊,win10程序无响应怎么办?程序无响应的解决方法...
  14. Bluetooth RFCOMM介绍
  15. java支付逻辑_java 订单支付status逻辑
  16. 新闻与传播c刊_3本新闻传播类期刊入围新版C刊扩展目录
  17. oracle 表变化监控,oracle 怎么 监控数据变化
  18. warning/error
  19. 苹果a7处理器_苹果A系处理器崛起的秘密:靠山寨起家,最后打败巨头芯片商
  20. 利用pytorch完成BP神经网络的搭建

热门文章

  1. 网页技术革命:精美绝伦的 HTML5 个人作品集网站
  2. WebService传输DataSet的一点想法和实践-.NET教程,Web Service开发
  3. Ubuntu 12.04安装下载工具 UGet 1.8.0 及 aria2用法
  4. PHP获取远程文件内容
  5. linux之RAID知识总结
  6. LeetCode 637. Average of Levels in Binary Tree
  7. 【C++ STL学习之一】容器的共通能力和共通操作总结
  8. usb设备由生产到使用 java 114979888
  9. 多文件管理器 tablacus explorer 下载与安装
  10. django-模态框编辑学生