такой код:
a = 0;
setTimeout(function timeout() {
console.log("Set Timeout");
}, 1000);
while (a < 5) {
a += 1;
}
Скажем, что while отрабатывает условные 5 секунд, не важно какое там условие, главное, что он блочит event loop.
Как я это понимаю: в call stack кидается set timeout, потом летит в web apis, отрабатывает там секунду (за это время начинает свою работу while a < 5), потом летит в callback queue. Потом, как while отрабатывает, set timeout кидается в call stack из callback queue и выдает консоль лог.
Подскажите, правильно ли я мыслю?
Да
Обсуждают сегодня