伍:axios1.x改动内容
前边我们对axios0.18.0的源码内容做了解读,但是0.18.0的版本有些老了,从github拉了axios1.0.0-beta版本来看一下有了哪些变动吧
前边我们对axios0.18.0的源码内容做了解读,但是0.18.0的版本有些老了,从github拉了axios1.0.0-beta版本来看一下有了哪些变动吧
前边碰到取消请求相关的部分内容都是直接略过的,现在主线任务已经完成了,好好看一下支线任务Cancel与CancelToken吧。
书接上回,上节课的内容留下了一个坑,dispatchRequest方法内部究竟做了什么?这一节我们就来看一下其内部实现。
关于取消请求部分的逻辑在这一节会省略掉,以求最简单清晰的去理解整个工作流程。
接下来,我们应该看一下Axios类中究竟做了什么,到底是怎么发送请求的。因为Axios类中应用到了Interceptor,所以我们要先看一下拦截器是怎么实现的。
很遗憾,至于发送请求的详细内容需要到dispatchRequest方法和xhr适配器中才能看到了,在本章节Axios类中我们只能说到调用dispatchRequest方法这一步,所以发送请求的详细内容要留到下一章节来说了,先来看一下本章节的内容吧。
在上一节的入口文件中,我们都知道axios是基于默认配置创建的,那么这个默认配置到底配置了哪些东西呢?
这一节,我们就来看一看lib/defaults.js的源码内容。
本系列内容基于axios0.18.0版本,只对核心内容进行梳理,不会具体到每一个方法细节。至于一些辅助方法等内容,只会在碰到的时候说下这个方法做了什么,不会单独去看辅助方法。新版本的axios对于一些部分进行了修改,但大致是一样的。
axios的适配器adapter分别对xhr和http做了处理,我们只关注用于浏览器端的xhr,对应用于node的http内容不做考虑。