1) Есть промис
const getPromise = () => {
return new Promise((resolve, reject) => {
...
});
}
Не очень понимаю, что происходит при вызове
const a = getPromise()
. Этот вызов же возвращает просто промис и не выполняет логику, которая находится внутри него?
2) Исходя из вопроса выше, есть следующий вопрос:
(async () => {
const pizzaPromise = selectPizza()
const drinkPromise = selectDrink()
await pizzaPromise
await drinkPromise
orderItems()
})()
Promise.all([selectPizza(), selectDrink()]).then(orderItems)
Разве async функция идентична вызову Promise.all? Ведь вызов
await pizzaPromise
и
await drinkPromise
будут выполняться поочередно, то есть перед тем, как выполнится второй промис, он будет ждать полного выполнения первого. А в свою очерень Promise.all() делает их разрешение параллельно.