axios.interceptor是axios库提供的拦截器功能,用于在发送请求或接收响应之前对其进行拦截和处理。正确使用axios.interceptor可以实现全局的请求和响应的统一处理,例如添加请求头、处理错误信息等。
使用axios.interceptor的正确步骤如下:
import axios from 'axios';
const instance = axios.create({
baseURL: 'https://api.example.com', // 设置请求的基础URL
timeout: 5000, // 设置请求超时时间
});
instance.interceptors.request.use(
config => {
// 在发送请求之前做些什么,例如添加请求头
config.headers['Authorization'] = 'Bearer token';
return config;
},
error => {
// 对请求错误做些什么
return Promise.reject(error);
}
);
instance.interceptors.response.use(
response => {
// 对响应数据做些什么,例如处理错误信息
if (response.data.code !== 200) {
// 处理错误信息
}
return response.data;
},
error => {
// 对响应错误做些什么
return Promise.reject(error);
}
);
instance.get('/api/user')
.then(response => {
// 处理响应数据
})
.catch(error => {
// 处理请求错误
});
通过以上步骤,我们可以正确使用axios.interceptor来拦截请求和响应,并进行统一处理。在请求拦截器中,我们可以对请求进行一些处理,例如添加请求头;在响应拦截器中,我们可以对响应进行一些处理,例如处理错误信息。这样可以提高代码的可维护性和复用性。
腾讯云相关产品推荐:腾讯云云服务器(CVM)和腾讯云函数(SCF)。腾讯云云服务器提供了强大的计算能力和稳定的网络环境,适用于各种场景的应用部署;腾讯云函数是无服务器计算服务,可以实现按需运行代码,无需关心服务器管理。您可以通过以下链接了解更多腾讯云产品信息:
领取专属 10元无门槛券
手把手带您无忧上云