1.创建一个实例对象的简单例子:
const duanzi=axios.create({
baseURL:"http://api.apiopen.top",
timeout:3000
})
duanzi({
url:'/getJoke'
}).then(response=>{
console.log(response);
})
或者在创建一个实例对象之后,直接调用方法进行使用,例如下图:
duanzi.get('./getJoke').then(response=>{
console.log(response);
})
2.axios拦截器
A.拦截器基本代码
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
return config;
}, function (error) {
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
return response;
}, function (error) {
return Promise.reject(error);
});
B.要想测试失败时的情况,那么可以加入一个
throw "WRONG"
这个相当于自动结束进程
C.拦截器的响应是有顺序的
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
console.log("请求拦截器1")
return config;
}, function (error) {
return Promise.reject(error);
});
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
console.log("请求拦截器2")
return config;
}, function (error) {
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
console.log("响应拦截器1")
return response;
}, function (error) {
return Promise.reject(error);
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
console.log("响应拦截器2")
return response;
}, function (error) {
return Promise.reject(error);
});
最后这个代码的执行就是
请求拦截器2
请求拦截器1
响应拦截器1
响应拦截器2
D.还可以设置请求的参数
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
console.log("请求拦截器1")
config.params={a:100};
return config;
}, function (error) {
return Promise.reject(error);
});
在这里就是posts加入了参数