请求层框架是什么?
其实 axios 就可以看成一个请求层框架,只不过它将关注焦点放在了 ajax request 上,更多时候大家把它当成一个库。
那么这里的”框架“指的是什么呢?一般来说,实际项目中发ajax请求,不仅仅是发出去这么简单,一方面数据需要 transform、polyfill 等一系列操作,另一方面请求发出去的过程中可能需要触发一些副作用,比如打点统计等等,最后,在跨端场景下,最终把请求发出去的backend,可能有多种。比如在electron项目中,假设我们使用UDP协议发送请求,但是为了支持外网向内网推数据,又没有打洞服务的情况,我们需要在某个版本中支持外网 TCP server -> 内网 TCP client 的模式。
通过一个图,大家就可以理解为什么请求层值得被称为一个框架:
这么一看功能还不少对吧?而且是典型的中间件模式(绿色的全是中间件),说是框架不过分吧?
如何实现一个请求层框架?
实现这样一个框架,我们主要要解决两个问题:
- 设计一个中间件架构的请求层runtime。
- 定义接口声明的流程和语法。
请求层runtime
为什么说 axios 本身就可以看成一个请求层框架呢?因为它支持 tra