axios.js 源码分析
Posted daoket
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios.js 源码分析相关的知识,希望对你有一定的参考价值。
axios.js 源码分析
axios.js --> Axios.js --> InterceptorManager.js --> dispatchRequest.js --> transformData.js --> adapters
axios 为什么可以在浏览器和服务器上同时运行?
答:因为axios使用了适配器模式,在node中引入http模块请求,在浏览器中使用xhr对象进行请求axios 如何实现请求和相应的修改
答:通过一个拦截器(InterceptorManager)实现,拦截器其实就是一个观察者模式,通过use添加,通过eject删除,通过forEach进行notify拦截器和转换器的区别?
答:拦截器主要是用来对请求和响应的数据进行一些处理,转化器则是将请求和响应的数据进行一些转换,比如转换请求参数,JSON相应数据等- axios常用配置
import axios from ‘axios‘
// 设置通用header
axios.defaults.headers.common[‘X-Requested-With‘] = ‘XMLHttpRequest‘; // xhr标识
// 设置某种请求的header
axios.defaults.headers.post[‘Content-Type‘] = ‘application/x-www-form-urlencoded;charset=utf-8‘;
// 设置某次请求的header
axios.get(url, {
headers: {
‘Authorization‘: ‘whr1‘,
},
})
//跨域携带cookie
axios.defaults.withCredentials = true;
// 设置超时
axios.defaults.timeout = 3000;
// 超时处理
axios().catch(error => {
const { message } = error;
if (message.indexOf(‘timeout‘) > -1){
// 超时处理
}
})
以上是关于axios.js 源码分析的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段
Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段
mysql jdbc源码分析片段 和 Tomcat's JDBC Pool
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段