# 总结
当你看到这里的时候,那么相信你已经完成了对 axios 源码的阅读了。通过前面的章节学习,相信大家或多或少都有一点自己的收获。对于 axios 的一些特性功能,比如拦截请求和响应
,转换请求数据和响应数据
,取消请求
等,都知道了是怎么实现的了。
在我阅读的过程中,我最大的收获就是请求/响应拦截器
和取消请求
的实现原理。让我对 promise 的链式调用有了更深层次的了解。同时还收获了一些比较实用的知识,比如使用a
标签对地址进行解析,xsrf
攻击原理,过程和防御手段等等。
下面,我们总结一下 axios 发送一个请求的执行流程:
1、axios.get
发送请求
2、将用户传入的请求配置项和默认的请求配置项进行合并
3、将请求拦截器
,请求处理函数
,响应拦截器
,形成一个数组,构建出一个 promise 调用链,执行顺序为请求拦截器
->请求处理函数
->响应拦截器
4、请求拦截器
执行,写在后面的请求拦截器先执行。在请求拦截器中,可以对请求配置项进行修改
5、请求处理函数
执行,请求前先对请求数据,请求头等进行处理,然后使用适配器获取不同的请求处理函数,发送请求,请求发送完毕将响应数据进行处理,然后将响应数据返回
6、响应拦截器
执行,写在前面的响应拦截器先执行。在响应拦截器中,可以对响应数据进行修改
7、请求执行完毕,用户将得到响应数据
最后,如果这份电子文档对你有帮助,希望你可以给我点一个 star,以给我更多的创作动力
← 请求配置项