封装的思路本身意义大于对axios本身的意义。
request.js
import axios from 'axios'
export function request(config){
return new Promise(resolve,reject) => {
//1.创建axios的示例
const instance = axios.create({
baseUrl:"http://127.0.0.1:8000",
timeout:5000
})
//2.发送真正的网络请求
instance(config).then(res =>{
resolve(res)
}).catch(err = >{
reject(err)
})
//针对于axios来说,instance本身就是个promise,可以直接return instance(config)
}
}
main.js
request({
url:"/home/multidata"
}).then(res = >{
console.log(res)
}).catch(err = >{
console.log(err)
})
采用传入回调函数的方式进行封装
export function request(config,success,failure){
//1.创建axios的示例
const instance = axios.create({
baseUrl:"http://127.0.0.1:8000",
timeout:5000
})
//2.发送真正的网络请求
instance(config.baseConfig)
.then(res =>{
success(res)
})
.catch(err = >{
failure(err)
})
}
request({
baseConfig:{
url:"/home/multidata"
},
success: function(res){
console.log(res)
},
failure:function(err){
console.log(err)
}
})