一个基于 fetch 的洋葱模型 http 客户端

2022-03-23 10:52:05 +08:00
 molvqingtai

什么是 resreq?

它是一个基于 fetch 的现代 http 客户端,因为它在内部使用洋葱模型实现,因此您可以使用中间件优雅地拦截请求和响应。

简单示例

使用中间件

相比 axios 等库请求响应拦截要分开写在两个函数,它的优点是使用中间件 resreq.use() 一个方法搞定,如果你使用过 koa 应该很熟悉这种套路。

项目地址

https://github.com/molvqingtai/resreq

1746 次点击
所在节点    JavaScript
5 条回复
KouShuiYu
2022-03-24 19:29:53 +08:00
感觉实际场景没这么复杂,用 fetch 的大部分都是前端,这还要解释什么是洋葱模型,
我之前也写了一个,拦截请求和响应用的两个函数,https://github.com/ckpack/fetch-helper
molvqingtai
2022-03-24 19:42:37 +08:00
@KouShuiYu 主要是为了解耦,能把错误处理,刷新 token ,mock 数据 分成一个一个的中间件,相比使用请求前后两个 hooks 方式要优雅得多
molvqingtai
2022-03-24 19:45:25 +08:00
前端请求处理复杂度确实不高,但是 node 17 已经支持 fetch ,以后 node 端也可以平滑使用 fetch ,多一种更轻量化的选择
Envov
2022-04-07 00:39:17 +08:00
比较好奇为什么要在 use 里面使用 curry
molvqingtai
2022-04-07 09:55:27 +08:00
@Envov 抄的 redux 的实现,相比 koa 这是方式内部实现只需要一句代码,个人认为比较优雅

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

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

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

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

© 2021 V2EX