Back to questions
Лига Цифровой Экономики
Middle+
5
Расскажите про Event Loop: в каком порядке выполняются синхронный код, микротаски и макротаски?
Companies where asked
Answer from AI
sobes.tech AI
Event Loop — это механизм в JavaScript, который управляет выполнением кода, обработкой событий и асинхронных операций.
Порядок выполнения:
- Синхронный код выполняется сразу, по порядку, в основном потоке.
- После выполнения синхронного кода выполняются микротаски (microtasks). К микротаскам относятся, например, промисы (
Promise.then),process.nextTickв Node.js. - Затем выполняются макротаски (macrotasks), такие как обработчики событий, таймеры (
setTimeout,setInterval), сетевые запросы.
Цикл повторяется: после каждой макротаски Event Loop проверяет очередь микротасков и выполняет их все перед переходом к следующей макротаске.
Пример:
console.log('Синхронный код');
setTimeout(() => console.log('Макротаска (setTimeout)'), 0);
Promise.resolve().then(() => console.log('Микротаска (Promise)'));
console.log('Синхронный код 2');
Вывод будет:
Синхронный код
Синхронный код 2
Микротаска (Promise)
Макротаска (setTimeout)
Это демонстрирует, что микротаски выполняются сразу после синхронного кода, но до макротасок.