Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: eventloop, execution, order

Что будет выведено в консоль при смешивании Promise и синхронного кода?

Вопрос проверяет понимание event loop и порядка выполнения синхронного и асинхронного кода.

Короткий ответ

Сначала всегда выполняется весь синхронный код. Затем выполняются microtasks, в том числе обработчики Promise.then. Только после этого обрабатываются macrotasks, такие как setTimeout. Поэтому вывод в консоль часто отличается от интуитивных ожиданий. Это поведение строго определено спецификацией.

Длинный ответ

При смешивании синхронного кода и Promise важно понимать приоритеты очередей выполнения.

Общий порядок выполнения

JavaScript выполняет код в следующем порядке:

  1. Синхронный код текущего стека

  2. Очередь microtasks

  3. Очередь macrotasks

Пример

console.log('A')

Promise.resolve().then(() => {
  console.log('B')
})

console.log('C')

Пошаговый разбор

  1. Выполняется console.log('A')

  2. Регистрируется then, но не выполняется

  3. Выполняется console.log('C')

  4. Очищается очередь microtasks

  5. Выполняется console.log('B')

Результат в консоли:

  1. A

  2. C

  3. B

Частые ошибки

  • ожидание, что then выполнится сразу

  • путаница между Promise и setTimeout

  • неверные предположения о порядке логов

Вывод

При смешивании Promise и синхронного кода всегда сначала выполняется синхронная часть, затем microtasks. Понимание этого порядка критично для корректной асинхронной логики.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    8

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#eventloop

#execution

#order

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию