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

2020-12-31 10:43:52 +08:00
 az22c
看公众号的文章,动不动就“传统 ajax 已死,fetch 永生”。

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

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

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