目录
1.axios的主要函数
2.针对url的一些处理
3.post参数及请求头的处理
4.返还对象的包装
5.工厂模式函数和混入模式
5.1axios的使用方式
5.1.1方式一:axios({})
5.1.2方式二:axios.get({})
5.1.3方式三:axios.create({})
5.2工厂模式函数和混入模式
5.3继承函数
6.拦截器
6.1拆分dispathXhr触发ajax方法;
6.2拦截管理器
6.3任务链执行对应函数 (注意this指向)
7.Adapters适配器
7.1在触发dispathXhr函数中判断axios运行的环境
7.2Adapters中对应不同的处理
1.axios的主要函数
-
定义
-
调用
2.针对url的一些处理
-
工具类util —>单例模式;
let util = {}
-
get处理url
-
buildURL函数
-
3.post参数及请求头的处理
-
针对post参数的处理
-
data来进行json转换
-
设置默认头部
-
4.返还对象的包装
-
返还对象的形式
-
针对返还对象的处理
5.工厂模式函数和混入模式
5.1axios的使用方式
5.1.1方式一:axios({})
axios({})
5.1.2方式二:axios.get({})
axios.get({})
5.1.3方式三:axios.create({})
axios.create({})
5.2工厂模式函数和混入模式
5.3继承函数
extends(a, b, thisArg) {//只拷贝循环对象自身方法for (let key in b) {if (b.hasOwnProperty(key)) {let val = b[key];// console.log("val值",val);if (thisArg && typeof val === 'function') {a[key] = val.bind(thisArg);} else {a[key] = val;}}}return a;}
6.拦截器
6.1拆分dispathXhr触发ajax方法;
6.2拦截管理器
class InterceptorManager {constructor() {this.handlers = [];}use(fulfilled, rejected) {this.handlers.push({fulfilled: fulfilled,rejected: rejected});}
}
6.3任务链执行对应函数 (注意this指向)
7.Adapters适配器
7.1在触发dispathXhr函数中判断axios运行的环境
//环境判断 和发送网络请求if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {return this.adapters.http(this.instanceConfig);} else if (typeof XMLHttpRequest !== 'undefined') {return this.adapters.xhr(this.instanceConfig);}
7.2Adapters中对应不同的处理