promise.all axios post 请求
时间: 2024-10-20 07:18:38 浏览: 23
`Promise.all()` 是 JavaScript 中的一个函数,它接收一个 Promise 对象数组作为参数,并返回一个新的 Promise。这个新的 Promise 当所有输入的 Promise 都成功解析(状态变为 resolved)时,才会变为 resolved,其结果是一个包含每个原 Promise 解析值的新数组;如果任何一个原 Promise 拒绝(状态变为 rejected),那么返回的 Promise 也立即拒绝,并传递第一个拒绝的 Promise 的原因。
在 `axios` 中,`post` 是发起 HTTP POST 请求的方法。当你需要发送多个并发的 POST 请求并等待它们全部完成时,可以将这些请求包装成 `Promise` 并放入一个数组中,然后使用 `Promise.all()`。例如:
```javascript
const requests = [
axios.post('api/user1', data1),
axios.post('api/user2', data2),
axios.post('api/user3', data3)
];
Promise.all(requests)
.then((responses) => {
// 所有请求都成功时,响应数组按顺序存储
responses.forEach((response, index) => {
console.log(`User ${index + 1} response:`, response.data);
});
})
.catch((error) => {
// 如果有一个请求失败,这里会捕获到错误
console.error('An error occurred:', error);
});
```
在这个例子中,`Promise.all()` 确保了所有的 POST 请求都在服务器响应完之后再处理后续逻辑。
阅读全文