Как event loop обрабатывает microtasks и macrotasks?

MiddleJavaScript · Frontend·Обновлено 16 июня 2026
Коротко
После текущего call stack выполняются microtasks, затем следующий macrotask.

После текущего call stack выполняются microtasks, затем следующий macrotask.

Сильный ответ должен раскрыть: call stack; task queue; microtask queue; порядок Promise перед timeout.

Важно не допустить типичные ошибки: считать Promise отдельным потоком; путать очередь microtasks с macrotasks; игнорировать starvation.

Что хочет услышать интервьюер

call stack

task queue

microtask queue

порядок Promise перед timeout

Пример: JavaScript example

setTimeout(() => console.log('timeout')); Promise.resolve().then(() => console.log('promise'));

Типичные ошибки

считать Promise отдельным потоком

путать очередь microtasks с macrotasks

игнорировать starvation

Лучшие курсы по теме

изображение курса

TypeScript с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Feature-Sliced Design

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.5
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Next.js - с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее