bluebird
Promise.all
Sök…
Anmärkningar
Promise.all(
Iterable<any> | Promise<Iterable<any>> input
) -> Promise
Den här metoden är användbar för när du vill vänta på mer än ett löfte att slutföra.
Med tanke på en Iterable (matriser är Iterable ), eller ett löfte om en Iterable , som ger löften (eller en blandning av löften och värderingar), iterera över alla värden i Iterable till en matris och returnera ett löfte som uppfylls när alla objekt i arrayen uppfylls. Löfteets uppfyllande värde är en matris med uppfyllande värden på respektive positioner till den ursprungliga matrisen. Om något löfte i matrisen avvisas, avvisas det återlämnade löfte med avvisningsskäl.
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");
});
Denna metod är kompatibel med Promise.all från ursprungliga löften.
Väntar på att två saker ska hända
var firstItem = fetch("/api1").then(x => x.json());
var secondItem = fetch("/api2").then(x => x.json());
Promise.all([firstItem, secondItem]).spread((first, second) => {
// access both results here, both requests completed at this point
});
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow