Параллельный await
Запускает асинхронные операции параллельно вместо последовательного ожидания.
Сигнатура
await Promise.all([...])Несколько подряд идущих await выполняются последовательно — каждый ждёт предыдущий. Чтобы запустить операции одновременно, создайте промисы заранее и дождитесь их через Promise.all().
function delay(ms, value) {
return new Promise((resolve) => setTimeout(resolve, ms, value));
}
async function run() {
// запускаем параллельно: общее время ~300мс, а не 600
const [a, b] = await Promise.all([
delay(300, 'A'),
delay(300, 'B')
]);
console.log(a, b); // результат: A B
}
run();