Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: event loop, asynchronous, call stack, callback queue, microtask, macrotask

66666

Этот вопрос проверяет понимание работы Event Loop в JavaScript и его роли в асинхронном программировании.

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

Event Loop — это механизм, который позволяет JavaScript выполнять асинхронные операции, не блокируя основной поток. Он постоянно проверяет, пуст ли Call Stack, и если да, то перемещает задачи из очередей (microtask и macrotask) в стек для выполнения. Это основа асинхронности в однопоточном JavaScript.

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

Что такое Event Loop?

Event Loop — это ключевой механизм в JavaScript, который обеспечивает выполнение асинхронного кода в однопоточной среде. Он работает как бесконечный цикл, который следит за Call Stack (стеком вызовов) и очередями задач. Когда стек пуст, Event Loop берет первую задачу из очереди и помещает ее в стек для выполнения.

Как это работает?

JavaScript имеет несколько очередей: очередь microtask (например, Promise.then, MutationObserver) и очередь macrotask (setTimeout, setInterval, I/O). Microtask имеют более высокий приоритет и выполняются сразу после завершения текущего синхронного кода, до обработки macrotask.

Пример кода

console.log('1'); // Синхронный код

setTimeout(() => {
  console.log('2'); // Macrotask
}, 0);

Promise.resolve().then(() => {
  console.log('3'); // Microtask
});

console.log('4'); // Синхронный код

// Вывод: 1, 4, 3, 2

Где применяется?

Event Loop используется во всех средах выполнения JavaScript: браузерах, Node.js, Deno. Он критически важен для обработки событий, таймеров, HTTP-запросов и других асинхронных операций.

Вывод

Понимание Event Loop необходимо для написания эффективного асинхронного кода, избежания блокировок и правильной обработки порядка выполнения задач. Это основа для работы с промисами, async/await и таймерами.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

  • Node.js

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

#event loop

#asynchronous

#call stack

#callback queue

#microtask

#macrotask

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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