在Axios中添加拦截器可以很容易地处理Promise。下面是一个示例代码,展示了如何使用Axios拦截器解决Promise:
import axios from 'axios';
// 创建Axios实例
const instance = axios.create({
baseURL: 'https://api.example.com',
});
// 添加请求拦截器
instance.interceptors.request.use(
function(config) {
// 在发送请求之前做一些处理,例如添加请求头等
config.headers['Authorization'] = 'Bearer token';
return config;
},
function(error) {
// 对请求错误做处理
return Promise.reject(error);
}
);
// 添加响应拦截器
instance.interceptors.response.use(
function(response) {
// 对响应数据做处理
return response.data;
},
function(error) {
// 对响应错误做处理
return Promise.reject(error);
}
);
// 发送请求
instance.get('/data')
.then(function(response) {
// 处理响应数据
console.log(response);
})
.catch(function(error) {
// 处理请求错误
console.log(error);
});
在上面的代码中,我们创建了一个名为instance的Axios实例,并通过instance.interceptors.request.use和instance.interceptors.response.use方法添加了请求和响应拦截器。在请求拦截器中,我们可以在发送请求之前对请求进行处理,并在响应拦截器中对响应数据进行处理。
在发送请求时,我们调用instance.get('/data')方法并使用.then和.catch来处理Promise。如果请求成功,.then方法将会被调用,并处理响应数据;如果请求失败,.catch方法将会被调用,并处理错误信息。
使用拦截器可以方便地在请求和响应过程中进行一些公共处理,例如添加请求头、处理错误等。