← Back To API Reference

Promise.all

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

当您希望等待多个 promise 完成时,这个方法非常有用。

给定一个Iterable(数组是Iterable),或者一个可迭代的 promise,它产生 promise(或 promise 和值的混合),迭代遍历 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 中的 Promise.all 兼容。