Добрый день уважаемые участники форума.
Скорей всего это где - то кем - то уже описано, но я не смог найти (правильнее сказать не смог понять как спросить google) описание следующего эффекта.
Эффект.
setTimeout() выполняется только после выхода из основного потока программы, и вот как я это понял:
setTimeout(function() {
console.log("x1");
}, 1);
setTimeout(function() {
console.log("x2");
}, 1);
console.log("X3");
for (var i=0,x=45; i<1000000000;i++) { x=x/5*5; }
console.log("X4");
Я ожидал что в консоль будет выведено:
x3
x1
x2
x4
На деле выводится:
x3
*пауза, ждём вычисления*
x4
x1
x2
Вопрос стандартный:
с чего бы это?
Буду очень благодарен за
простое объяснение этого эффекта и будут приятным бонусом
ссылки на rtfm.