Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
function wait(ms, value) {
return new Promise((resolve) => {
setTimeout(() => resolve(value), ms);
});
}
Promise.all([wait(30, "a"), wait(10, "b")])
.then((values) => console.log(values.join(" ")));
console.log("start");start a b
- Ждать
start b a:Promise.allотдаёт значения в порядке исходного массива, а не в порядке, в котором выполнились промисы. - Ждать
start b:Promise.allждёт все промисы массива, а не только тот, который готов первым.
- Сколько примерно проходит времени до печати массива и почему?
- Что произойдёт, если заменить
wait(10, "b")на отклонённый промис?