You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网络正常时Axios返回Network Error的原因排查求助

Axios 网络恢复后仍返回 ERR_NETWORK 问题解决

我用以下代码测试重试场景,测试时会反复禁用/启用WiFi,但重新开启WiFi后,Axios依然返回Network Error,错误码为ERR_NETWORK。

async function fetchRecords(path:any, offset: number, columns?: any, retryCount?: number) : Promise<any> {
    const response : any = await GET(path);
    if (response && response.status == 200){
        return {
            data: response.data.result,
        };
    }else {
        if (retryCount && retryCount > 0){
            await new Promise(r => setTimeout(r, 5000));
            retryCount = retryCount-1;
            return await fetchRecords(table, offset, columns, retryCount);
        }else {
            return response;
        }
    }
}

更新内容
Axios返回的错误信息:

{
  "message": "Network Error",
  "name": "AxiosError",
  "stack": "AxiosError: Network Error\n    at XMLHttpRequest.handleError (http://localhost:8081/index.bundle .. )",
  "code": "ERR_NETWORK",
  "status": null
}

问题根源

你的代码没处理Axios的网络异常。当触发ERR_NETWORK时,await GET(path)会直接抛出错误,根本不会走到后续的else分支,重试逻辑等于没生效。

修复后的代码

用try/catch捕获异常,把重试逻辑放在catch块里:

async function fetchRecords(path: any, offset: number, columns?: any, retryCount = 3): Promise<any> {
  try {
    const response = await GET(path);
    if (response?.status === 200) {
      return {
        data: response.data.result,
      };
    }
    // 非200状态码也视为失败,进入重试逻辑
    throw new Error(`请求状态码异常:${response?.status}`);
  } catch (error: any) {
    // 仅针对网络错误且还有重试次数时触发重试
    if (retryCount > 0 && error?.code === 'ERR_NETWORK') {
      await new Promise(r => setTimeout(r, 5000));
      return fetchRecords(path, offset, columns, retryCount - 1);
    }
    // 无重试机会或非网络错误,返回错误信息
    return error;
  }
}

额外优化说明

  • 给retryCount设默认值(比如3),避免调用时漏传导致不重试
  • 精准判断错误码,只在ERR_NETWORK时重试,避免其他错误(如接口404)重复请求
  • 非200状态码主动抛错,统一在catch块处理失败逻辑

内容的提问来源于stack exchange,提问作者Abhishek Kulkarni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:42:32