为什么基于浏览器 fetch 的封装的请求库这么少?

2020 年 12 月 31 日
 az22c
看公众号的文章,动不动就“传统 ajax 已死,fetch 永生”。

但是看到现在基于 xhr 的封装的,成功的请求库还是很多,axios 、swr 、还有各种 react hooks 。

反观对 fetch 的封装,封装场景比如有带上 cookie 、timeout 、调用.json()等等,也是可以封装的。但是很多的这方面封装,都是完成度比较低的,都是些简单的 demo 。很少看到有做得完善的并且有点人气的封装 fetch 的请求库。
4426 次点击
所在节点    前端开发
11 条回复
KouShuiYu
2020 年 12 月 31 日
兼容性,技术惯性
U2FsdGVkX1
2020 年 12 月 31 日
fetch 已经高级了吧,上面提到的这些封装意义也不大吧
而且对于请求库来说,兼容性比较重要,有 xhr 封装为啥还要再造个轮子
nigelvon
2020 年 12 月 31 日
老版本 ios 不兼容。蛋疼的紧。
mknightoy
2020 年 12 月 31 日
楼上已经说了主要是兼容性,另外 fetch 已经算高度封装了没必要在多此一举
az22c
2020 年 12 月 31 日
@U2FsdGVkX1 “fetch 已经很高级”,这一点我是认为不对的。上面说的小功能点比如 cookie 相关的,还是很有必要的封装的。

封装起来,搞一个项目可以收割 github star 。比如有些人就是后端开发知识懂一点点客户端开发,想搞个顺手的东西代码一粘贴就能完成请求,不用遭遇调试这些缺少的小功能点。所以封装一个还是挺爽的?
codehz
2020 年 12 月 31 日
因为 fetch 功能少,连个取消请求都要等草案
可以说没有任何优势(
zy445566
2020 年 12 月 31 日
用了 fetch 就不需要 axios 、swr 了
zy445566
2020 年 12 月 31 日
我的意思是 fetch,自己稍微封装下就能用,没必要使用别人封装的 fetch 库
noe132
2020 年 12 月 31 日
不支持取消请求,不支持获取上传 /下载进度
buhi
2020 年 12 月 31 日
为什么基于浏览器 + - * / 的封装库这么少
一个道理
Benno
2021 年 4 月 18 日
有了。拿去使,不好用提!
https://github.com/Benno-Wu/SimplifiedFetch

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/740533

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX