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

带有config.retry的Axios Error类型及拦截器config正确类型咨询

Axios Error类型与请求配置类型问题解答

带有config.retry属性的Axios Error类型

带config.retry属性的Error本质仍是AxiosError类型。这类自定义属性的出现,是因为你给Axios请求配置扩展了自定义字段——Axios允许开发者在发起请求时添加自定义配置参数,这些参数会被保留在error.config中,但默认的Axios类型定义不会包含这类自定义属性。

响应拦截器中error.config的正确类型

默认的AxiosRequestConfig确实不包含retry或retryCount,要让类型系统识别这些自定义属性,有两种可行方案:

1. 全局扩展Axios类型(TypeScript环境)

通过模块声明扩展AxiosRequestConfig,让所有场景下的该类型都包含自定义属性:

declare module 'axios' {
  interface AxiosRequestConfig {
    retry?: number;
    retryCount?: number;
  }
}

添加这段声明后,error.config会自动被识别为包含retry、retryCount的扩展类型。

2. 局部类型断言

如果不需要全局扩展,可在使用时通过类型断言临时指定类型:

axios.interceptors.response.use(
  (response) => response,
  (error) => {
    const config = error.config as AxiosRequestConfig & { retry?: number; retryCount?: number };
    // 后续使用config.retry、config.retryCount即可获得类型提示
  }
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 04:16:03