JavaScript中promise.all作用?

Promise.all 是 JavaScript 中的一个 Promise 方法,它接收一个 Promise 对象的数组作为参数,返回一个新的 Promise 对象。这个新的 Promise 对象只有在所有的 Promise 对象都成功地完成(fulfilled)时才会完成,如果有任何一个 Promise 对象失败(rejected)了,那么新的 Promise 对象会立即失败。

在所有的 Promise 对象都成功完成时,新的 Promise 对象的结果会是一个数组,这个数组包含了每个 Promise 对象的结果。这些结果的顺序和原来的 Promise 对象的顺序一致。

如果有任何一个 Promise 对象失败了,新的 Promise 对象的结果会是那个失败的 Promise 对象的结果。

下面是一个例子:

let promise1 = Promise.resolve(3);
let promise2 = 42;
let promise3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, 'foo');
});

Promise.all([promise1, promise2, promise3]).then(values => {
  console.log(values); // 输出:[3, 42, "foo"]
});

在这个例子中,Promise.all 接收了三个 Promise 对象,当这三个 Promise 对象都成功完成时,它返回的 Promise 对象也成功完成,结果是一个包含了每个 Promise 对象结果的数组。

Promise.all 在处理多个相互独立的异步操作,并且需要等待所有异步操作都完成时非常有用。

发表评论

后才能评论