在Axios的响应拦截器中对数据对象进行解析和处理。
示例代码:
axios.interceptors.response.use(
response => {
// 对响应数据进行处理
const data = response.data;
if (data && typeof data === 'object') {
const keys = Object.keys(data);
if (keys.length === 1 && typeof data[keys[0]] === 'object') {
// 如果响应数据的第一层只有一个key,且值为对象,则取出这个对象作为响应数据
response.data = data[keys[0]];
}
}
return response;
},
error => {
// 对响应错误进行处理
return Promise.reject(error);
}
);
在该响应拦截器中,我们对响应数据进行了如下处理:
这样,在后续的数据处理中,我们就可以不用考虑响应数据中的混淆对象了,直接使用解析后的数据即可。