要检测每个axios请求的HTTP状态代码,可以通过axios提供的拦截器来实现。拦截器可以在请求发送前和响应返回后对请求和响应进行处理。
首先,需要在发送请求前添加一个请求拦截器,通过该拦截器可以在请求发送前对请求进行处理。在请求拦截器中,可以为请求添加一个回调函数,用于处理请求成功或失败时的逻辑。
以下是一个示例代码:
import axios from 'axios';
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
console.log('请求发送前');
return config;
}, function (error) {
// 对请求错误做些什么
console.error('请求错误', error);
return Promise.reject(error);
});
// 发送请求
axios.get('https://api.example.com/data')
.then(function (response) {
// 请求成功的处理逻辑
console.log('请求成功', response);
})
.catch(function (error) {
// 请求失败的处理逻辑
console.error('请求失败', error);
});
在上述代码中,通过axios.interceptors.request.use
方法添加了一个请求拦截器。在请求拦截器的回调函数中,可以对请求进行处理,例如在请求发送前打印日志。
接下来,可以通过添加一个响应拦截器来处理响应返回后的逻辑。响应拦截器可以在请求成功或失败后对响应进行处理。
以下是一个示例代码:
import axios from 'axios';
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
// 对响应数据做些什么
console.log('响应返回后');
return response;
}, function (error) {
// 对响应错误做些什么
console.error('响应错误', error);
return Promise.reject(error);
});
// 发送请求
axios.get('https://api.example.com/data')
.then(function (response) {
// 请求成功的处理逻辑
console.log('请求成功', response);
})
.catch(function (error) {
// 请求失败的处理逻辑
console.error('请求失败', error);
});
在上述代码中,通过axios.interceptors.response.use
方法添加了一个响应拦截器。在响应拦截器的回调函数中,可以对响应进行处理,例如在响应返回后打印日志。
通过以上的请求拦截器和响应拦截器,可以检测每个axios请求的HTTP状态代码,并在请求成功或失败时进行相应的处理。
领取专属 10元无门槛券
手把手带您无忧上云