Promise.all和Promise.race的区别和使用
时间: 2024-08-13 14:04:18 浏览: 61
理解和使用Promise.all和Promise.race
5星 · 资源好评率100%
`Promise.all()` 和 `Promise.race()` 都是 JavaScript 中处理异步操作的工具,但它们的目的和使用场景有所不同。
**Promise.all():**
`Promise.all()` 接受一个 Promise 对象的数组作为输入,当所有 Promise 对象都成功解析(状态变为 fulfilled),并且返回值满足提供的数组类型时,它会返回一个新的 Promise,该 Promise 解析为一个包含所有原始 Promise 所解析值的数组。如果数组中的任何一个 Promise 拒绝(status 变为 rejected),那么 `Promise.all()` 就立即拒绝,并返回第一个拒绝的 Promise 的原因。
例如:
```javascript
Promise.all([promise1, promise2])
.then(results => {
// results 是 [result1, result2]
})
.catch(error => {
// error 是第一个拒绝的 Promise 的原因
});
```
阅读全文