两种使用方式,优先第二种:
- 直接向axios传递配置来创建请求:配置是全局的
- axios(config)
- axios(url[, config])
- 创建axios实例,然后调用实例方法来创建请求:可以创建多个实例,传入不同的配置,比如不同的axios实例有不同的服务器地址
- 创建实例对象:axios.create([config])
- 调用实例方法:axios.request(config)
环境判断方法:typeof XMLHttpRequest !== 'undefined'
const default.adapters = ['xhr', 'http']
const knownAdapters = {
http: httpAdapter,
xhr: xhrAdapter
}
// 循环判断default.adapters中哪一个符合当前环境,比如xhrAdapter:
const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
export default isXHRAdapterSupported && function (config) {
// 完成XMLHttpRequest的promise封装
return new Promise(function dispatchXhrRequest(resolve, reject) {
......
let request = new XMLHttpRequest();
......
})
}