bluebird
Promise.all
Поиск…
замечания
Promise.all(
Iterable<any> | Promise<Iterable<any>> input
) -> Promise
Этот метод полезен, когда вы хотите дождаться более чем одного обещания.
Учитывая, что Iterable (массивы Iterable ) или обещание Iterable , которое дает обещания (или сочетание обещаний и значений), перебирает все значения в Iterable в массив и возвращает обещание, которое выполняется, когда все элементы в массиве выполнены. Значение выполнения обещания представляет собой массив с значениями выполнения в соответствующих положениях исходного массива. Если какое-либо обещание в массиве отклоняется, возвращенное обещание отклоняется с причиной отклонения.
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 от нативных обещаний.
Ожидание двух вещей
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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow