同时发送多个请求(axios.all / axios.spread)
在实际开发中,常常需要同时请求多个接口,例如同时获取用户信息和订单列表。Axios 提供了 axios.all 和 axios.spread 方法,方便并发请求。
1. 使用 axios.all 并发请求
import axios from "axios";
const requestUser = axios.get("/user/123");
const requestOrders = axios.get("/orders?userId=123");
axios
.all([requestUser, requestOrders])
.then((responses) => {
const user = responses[0].data;
const orders = responses[1].data;
console.log("用户信息:", user);
console.log("订单列表:", orders);
})
.catch((error) => console.error("请求失败:", error));
2. 使用 axios.spread 展开参数
axios
.all([requestUser, requestOrders])
.then(
axios.spread((userRes, ordersRes) => {
console.log("用户信息:", userRes.data);
console.log("订单列表:", ordersRes.data);
})
)
.catch((error) => console.error("请求失败:", error));
3. 优势
- 提高效率:并发请求可以同时获取多个接口数据,减少等待时间;
- 代码简洁:使用
axios.spread可以直接解构结果,避免手动索引数组; - 统一错误处理:所有请求在
catch中统一处理异常。
💡 小提示:在多个接口数据相互独立且无需顺序依赖时,使用 axios.all 并发请求可以大幅提升前端性能。
相关内容
- 缓存与重复请求优化 本章节介绍如何在前端项目中使用 Axios 优化请求缓存与防止重复请求,包括浏览器缓存、内存缓存、请求去重策略、拦截器结合缓存、缓存过期处理等方法,帮助提高接口...
- 前端容错与兜底策略 本章节讲解如何在前端使用 Axios 实现容错与兜底策略,包括请求失败处理、默认数据返回、全局错误提示、降级方案、备用接口调用等方法,确保应用在网络异常或接口异...
- 接口统一管理与类型定义 本章节介绍如何在前端项目中使用 Axios 统一管理接口请求,包括接口模块化、统一封装、请求类型定义、TypeScript 类型约束、接口文档维护及调用规范化。...
- 取消请求(CancelToken 与 AbortController) 本章节讲解如何在 Axios 中取消请求,包括使用 CancelToken 和 AbortController 两种方式,适用于用户快速切换页面或重复请求时,防...
- 防止重复请求的策略 本章节讲解如何在 Axios 中防止重复请求,包括使用请求标识、拦截器和节流/防抖机制,避免用户多次触发同一接口导致的冗余请求,提高前端性能和接口稳定性。
- 大文件分片上传实战 本章节讲解如何使用 Axios 实现大文件分片上传,包括将文件拆分成小块、逐片上传、合并服务端和上传进度管理,适用于上传大文件时提高成功率和用户体验。