Axios 封装模式

如何把 Axios 封装成统一的 HTTP 客户端,隔离配置、拦截器、错误处理和业务 API。

#type / synthesis #status / growing #tech / network #platform / browser #resource / http #resource / javascript #package / axios

[!info] related notes

Axios 封装模式

主题范围

这篇只讲“怎么把 Axios 包成一个稳定的业务层客户端”,不重复讲 API 本身。

一句话结论

推荐分层:实例 -> 拦截器 -> 错误归一化 -> 业务 API 模块。

核心结构

axios.create()
  -> request interceptors
  -> response interceptors
  -> error normalization
  -> domain api functions

常见封装目标

  • 统一 baseURL 和 timeout
  • 自动注入 token
  • 统一处理 401 / 403 / 5xx
  • 统一抽取 data
  • 统一取消与重试策略

两种常见返回风格

  • Promise<T> + try/catch
  • Promise<Result<T>> + 显式判断

最短记忆方式

  • 先实例化
  • 再拦截
  • 再归一化错误
  • 最后暴露业务 API
创建于 2026/4/7 更新于 2026/4/9