网络异常包括
1. 请求超时 2. 响应超时 3. 客户端无网络发起接口请求 4. 其他因素导致的网络异常。
重试机制:
目前我们针对网络异常的接口只重试一次,防止服务接口挂了一直重试把服务端搞挂了
axios.interceptors.response.use(undefined, (err) => {
// 只重试一次
const { config: originalRequest } = err;
if (
(err?.code === 'ECONNABORTED' ||
err?.message === 'Network Error' ||
err?.message?.includes?.('timeout')) &&
!originalRequest._retry
) {
originalRequest._retry = true;
return axios.request(originalRequest);
}
});