Доброго времени суток, уважаемые знатоки.
Столкнулся с такой проблемой
Ниже простой код.
Первая функция num10 явно возвращает промис, т.к. там new Promise
Вторая функция num11 тоже возвращает промис, т.к. обёрнута в async.
https://learn.javascript.ru/async-await
Вопрос:
почему в третьей функции
* await num10() - работает КАК ПОЛОЖЕНО (браузер ждёт выполнения функции num10, консолит то, что она возвращает и идёт дальше)
* await num11() - НЕ РАБОТАЕТ (браузер не дожидается выполнения этой функции, её результат консолится в самом конце).
Почему так? Ведь обе функции num10 и num11 вроде как промисы.
Почему одно работает, другое нет.
Никак в толк взять не могу.
Буду очень благодарен за ваши ответы
Если вдруг где-то туплю и вопрос совсем глупый - не судите строго. Не ошибается тот, кто ничего не делает
function num10 () {
return new Promise((resolve, reject)=> {
setTimeout(()=>{
resolve(10*10)
}, 3000);
}).then(
value => console.log(value),
);
}
async function num11 () {
setTimeout(()=> {
let num = 11 * 11;
return console.log(num);
}, 3000);
}
async function waitCount() {
console.log('1');
console.log('2');
await num10();
console.log('3');
await num11();
console.log('4');
}
waitCount();