promise.all用法
时间: 2023-07-08 19:45:58 浏览: 86
js代码-Promise.all
`Promise.all()` 方法接收一个 Promise 对象的可迭代对象(比如数组)作为参数,返回一个新的 Promise 对象。这个新的 Promise 对象在所有 Promise 对象都成功执行时才会被解析,如果其中任意一个 Promise 对象被拒绝(rejected),则整个 `Promise.all()` 被拒绝(rejected)。
`Promise.all()` 方法的基本用法如下:
```javascript
Promise.all(iterable)
.then((values) => {
// 所有 Promise 对象都成功执行,values 是所有 Promise 对象的返回值组成的数组
})
.catch((reason) => {
// 其中一个 Promise 对象被拒绝,reason 是被拒绝的 Promise 对象的返回值
});
```
其中,`iterable` 参数可以是一个数组、一个 Set 对象或者任何具有可迭代性(Iterable)的对象。在 `Promise.all()` 中,每个 Promise 对象都是并行执行的,也就是说,它们的执行顺序是不确定的。
另外,需要注意的是,如果 `iterable` 参数中包含的 Promise 对象中有一个被拒绝(rejected),那么 `Promise.all()` 方法会立即终止所有 Promise 对象的执行,并且返回的新的 Promise 对象会直接被拒绝(rejected),并且其返回值是被拒绝的 Promise 对象的返回值。
阅读全文