Redian新闻
>
从500ms到3ms,你还在用axios吗?

从500ms到3ms,你还在用axios吗?

公众号新闻



今天在推上看到一位推友 @illyism 说:Axios 在发送特性 auth 请求头会造成请求发送缓慢,替换后耗时由 500ms 下降至 3ms

Fun fact: I removed axios and I got +200% better latency. They have some bug causing slowdowns when sending auth headers. Literally went from 500ms to 3ms 🤯

看到此消息,表示很震惊!😱

对于前端开发者来说,80% 以上的项目都在使用 axios 模块。axios 真有此 Bug 吗?如果不用 axios,有哪些完美平替方案?

Axios 为何如此优秀?

Axios 是一个基于 Promise 的 HTTP 库,它的使用方法和API与 jQuery 的 Ajax 有很多相似之处。它既可以使用在浏览器端(XMLHttpRequest),也可以使用于服务器端(http模块)。对于前后端同构、SSR类型项目尤其有用,一份代码可以在前、后端运行。

Axios 的主要特性有:

  1. 支持 Promise API
  2. 拦截请求和响应,在请求前添加授权和响应前做一些特性处理。
  3. 转换请求和响应数据,对请求进行加密或者响应数据加密。
  4. 支持取消请求
  5. 自动转换 JSON 数据
  6. 自动将数据对象序列化为 multipart/form-datax-www-form-urlencoded 主体编码
  7. 客户端支持防御XSRF

Axios 的平替方案

如果我们不使用 axios,可平替的方案有 got、node-fetch、ky、superagent,这些模块都比较常见,从下面的 NPM Trends 图可以出来也都比较受欢迎。

从上图可以看出,axios 和 node-fetch 下载量最多,也最受欢迎。

下面再来看看不同库之间的对比:


从上图可以看出,相比 axios,got 支持的功能更为健全。它几乎与浏览器的 fetch API 兼容,使用时需要手动切换协议,不接受 PUSH 流,也不重复使用 HTTP/2 会话。比较遗憾的是 got 不支持在浏览器上使用。

关于 Fetch API

近些年,随着浏览器的发展,Fetch API 已经被所有现代浏览器所支持。在 Node.js 21 中 Fetch API 已经提升至稳定版本,这将对实现前后同构的项目带来更多方便。

最后推荐一个更好的 Fetch API,ofetch可以在 Node.js、浏览器端以及Worker上运行是,可以用来完美平替 axios。

https://github.com/unjs/ofetch

快速安装:

# npm
npm i ofetch

# yarn
yarn add ofetch

导入:

// ESM / Typescript
import { ofetch } from "ofetch";

// CommonJS
const { ofetch } = require("ofetch");

如果还有其他更好的 HTTP 库,可以在文末留言讨论。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
从5岁起就是好友!美国富二代发小竟是“阿姨花钱雇的演员”男女同款,20色可选,99元3件的新疆纯棉T恤,你还在等什么?熵泱——第十七章洗牌!钟睒睒蝉联首富,王健林父子重回前十,500人合计12300000000000元财富还在打!Costco新清仓福利还在出,6月电商大促折嗨了!台积电将能制造120mm*120mm的芯片惊魂一幕!澳男为躲避警方追捕,从5楼飞身跃下...2025Fall申请,UCAS会取消PS吗?(含LSE PS官方指南可领取)从520发布会看《阴阳师》:内容型产品的长青之道榜单首发!从EMS到VCU再到域集成,整车控制赛道大变局关注|加拿大资本利得税征税比例从50%提高到67%!背刺炒房客,对大温地产市场影响深远澳洲热气球出事!游客从500米高空坠亡街道!华人亲睹!加州保险市场再遭打击!State Farm终止72000份家庭保险,你的保单还在吗?天网恢恢,疏而不漏还在用Xshell?你out了!!留学选校应该怎么参考四大排名?QS,U.S.News,THE和软科排名哪个更靠谱?美军未来战争模式雏形呼之欲出小米生态企业下场卷爆「速干冷风裤」,3min恐怖速干,干爽不黏身,价格还不过百!都2024年了,谁还在用QQ聊天啊?团| 自从5年前发现它,我再也没给孩子买过某迪某克写作万年5.5!你还在用这些被考官拉黑的“万能句型”?还在用 Xshell ?你 out 了!!咖啡圈顶级人设:你还在喝咖啡,别人已经在攒杯子了仅8.3mm厚卡片式充电宝,有线+无线快充,轻薄小巧全金属!3M带头大涨,是时候入手了吗?【广而告之】世上最遥远的距离,是我已暑校转了学分,而你还在Final煎熬...注册美国公司你还在被税务吓退?这些州免税!网速起飞!最高下载速率达1000Mbps,NBN新计划或将澳洲推入全球网速前50强2024国自然函评季消息汇总:有的口子优先资助从50%降至30%?约20%申请者明显是应付或试水?今年高考人数突破1300万,历史新高:最可怕的是,你还在认为读书不如当网红更简单的京东618,从5月31日晚8点开始!不是,你还在随便设计数据库字段类型和长度?爱因斯坦把全人类带进阴沟,而特斯拉才能让人类重新走上光明大道微软前工程师:“ Windows 11 直到现在还在用我 30 年前开发的 ‘ 临时 ’ UI!”东京自由行(6)上野公园
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。