axios响应拦截器-数据剥离
时间: 2023-10-29 18:55:53 浏览: 150
在使用axios进行网络请求时,可以通过响应拦截器来对返回的数据进行处理和剥离。下面是一个示例代码,展示如何在axios中使用响应拦截器对数据进行剥离:
```javascript
import axios from 'axios';
// 创建axios实例
const instance = axios.create({
baseURL: 'https://api.example.com',
timeout: 5000,
});
// 请求拦截器
instance.interceptors.request.use(
(config) => {
// 在发送请求前做一些处理
return config;
},
(error) => {
// 请求错误处理
return Promise.reject(error);
}
);
// 响应拦截器
instance.interceptors.response.use(
(response) => {
// 对响应的数据进行处理和剥离
const data = response.data;
if (response.status === 200) {
return data; // 返回剥离后的数据
} else {
return Promise.reject(new Error('请求失败'));
}
},
(error) => {
// 响应错误处理
return Promise.reject(error);
}
);
export default instance;
```
在上述代码中,我们使用`interceptors`属性来定义请求和响应的拦截器。请求拦截器会在发送请求前执行一些处理操作,而响应拦截器会在接收到响应后对数据进行处理和剥离。
在响应拦截器中,我们首先获取到响应的数据`response.data`,然后根据具体的业务需求进行处理,最后返回剥离后的数据供后续使用。在示例中,我们只简单地判断了响应的状态码是否为200,如果是则返回剥离后的数据,否则抛出一个错误。
通过使用响应拦截器,我们可以在接收到响应后统一处理和剥离数据,使得代码更加清晰和易于维护。
阅读全文