bluebird
Promise.all
Szukaj…
Uwagi
Promise.all(
Iterable<any> | Promise<Iterable<any>> input
) -> Promise
Ta metoda jest przydatna, gdy chcesz poczekać na spełnienie więcej niż jednej obietnicy.
Biorąc pod uwagę Iterable (tablice są Iterable ) lub obietnicę Iterable , która daje obietnice (lub połączenie obietnic i wartości), iteruj wszystkie wartości w Iterable do tablicy i zwróć obietnicę, która jest spełniona, gdy wszystkie elementy w tablicy są spełnione. Wartość realizacji obietnicy to tablica z wartościami spełnienia w odpowiednich pozycjach względem tablicy pierwotnej. Jeśli jakakolwiek obietnica w tablicy odrzuca, zwrócona obietnica jest odrzucana z podaniem przyczyny odrzucenia.
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");
});
Ta metoda jest zgodna z Promise.all z rodzimych obietnic.
Oczekiwanie na dwie rzeczy
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow