这种情况通常是由于接口返回的数据格式不稳定导致的。可以使用axios的拦截器对返回数据进行处理,保证返回的数据格式一致。示例代码如下:
import axios from 'axios';
axios.interceptors.response.use(
response => {
if (response.data && response.data.code === 200) {
return response.data.data; // 返回数据中的有效数据部分
} else {
return Promise.reject(response.data.msg); // 返回错误信息
}
},
error => {
return Promise.reject(error);
},
);
以上代码中,我们对axios的响应拦截器进行了重写,将响应的数据格式进行统一处理,只返回有效数据部分。如有错误则返回错误信息。这样处理后,即使返回的结果数据格式不同,取到的数据也是一致的,提高了代码的稳定性和可维护性。