Middle
Aufgabe zur Reihenfolge des Aufrufs von console.log: Ordnen Sie die Ausgabe der Logs (Teil 1 — synchroner Code, Teil 2 — mit asynchronem Code, Promises und setTimeout).
sobes.tech KI
Antwort von AI
Рассмотрим порядок вывода console.log для двух частей:
Часть 1 — синхронный код
Все console.log выполняются последовательно в порядке написания.
console.log('1');
console.log('2');
console.log('3');
// Вывод: 1, 2, 3
Часть 2 — с асинхронным кодом, промисами и setTimeout
Пример:
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
console.log('4');
Порядок вывода:
'1'— синхронный код'4'— синхронный код'3'— микротаск (промис) после синхронного кода'2'— макротаск (setTimeout) после микротасков
Итог: 1, 4, 3, 2
Это связано с тем, что микротаски (промисы) выполняются сразу после текущего стека вызовов, а макротаски (setTimeout) — позже.