Fetch API轻量原生,适合简单请求;Axios功能完整,适合中大型项目。选择取决于项目规模、兼容性需求及团队习惯,建议统一使用一种并封装请求工具函数。
Fetch API 和 Axios 各有适用场景,没有绝对“更好”,关键看项目需求和开发习惯。
浏览器原生支持,无需引入额外库,语法简洁,适合现代浏览器环境下的基础 HTTP 操作。
基于 Promise 的第三方库,封装更友好,开箱即用的功能多,兼容性更好(支持 IE11)。

如果项目已用 Vue/React 且需要统一管理请求逻辑,或团队熟悉 Axios,它能减少样板代码;如果是轻量脚本、PWA、或追求最小包体积,Fetch 更干净。TypeScript 项目中两者都有良好类型支持,但 Axios 的类型推导在复杂配置下更稳定。
一个项目里同时用 Fetch 和 Axios 容易导致请求逻辑分散、错误处理不统一、拦截逻辑重复。选定一种后,建议通过封装一层 request 工具函数来收口,比如统一加 baseURL、token、错误提示等。