Promise.all

Promise.all(
  Iterable<any> | Promise<Iterable<any>> input
) -> Promise

當你希望等待多個承諾完成時,此方法很有用。

給定 Iterable (陣列是 Iterable),或者 Iterable 的承諾,它產生 promises(或者 promises 和 values 的混合),將 Iterable 中的所有值迭代到一個陣列中,並返回一個在所有時都滿足的 promise。陣列中的專案已完成。promise 的履行值是一個陣列,其在原始陣列的各個位置具有履行值。如果陣列中的任何 promise 都拒絕,則返回的 promise 將被拒絕並拒絕原因。

var files = [];
for (var i = 0; i < 100; ++i) {
    files.push(fs.writeFileAsync("file-" + i + ".txt", "", "utf-8"));
}
Promise.all(files).then(function() {
    console.log("all the files were created");
});

此方法與本機承諾中的 Promise.all 相容。