Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: асинхронность, promise, event loop

Что такое цикл событий (event loop) и как он работает?

Этот вопрос проверяет понимание асинхронной модели JavaScript и того, как события и задачи обрабатываются в очереди, что важно для разработки отзывчивых и эффективных веб-приложений.

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

Цикл событий (event loop) — это механизм в JavaScript, который управляет выполнением кода, обработкой событий и выполнением задач из очереди (callback-ов). Он позволяет JavaScript быть асинхронным, обрабатывая задачи, когда основная программа уже завершена. Когда вызывается асинхронная операция, она отправляется в очередь, а цикл событий отслеживает и выполняет задачи, как только главный поток освобождается.

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

Цикл событий (event loop) в JavaScript отвечает за асинхронное выполнение задач. JavaScript является однопоточным, что означает, что код выполняется по очереди в одном потоке. Однако для работы с асинхронными операциями (такими как запросы к серверу или таймеры) используется модель событий.

Когда вызывается асинхронная операция, она передается в сторонние API (например, Web API в браузере), и как только операция завершена, результат помещается в очередь событий (callback queue). Цикл событий следит за этой очередью и, когда главный стек вызовов (call stack) пуст, он выполняет задачи из очереди.

Пример с использованием setTimeout():

console.log('Первый вызов');
setTimeout(() => {
	console.log('Асинхронный вызов'); 
}, 0); 
console.log('Второй вызов');

Результат будет:

// Первый вызов 
// Второй вызов 
// Асинхронный вызов

Даже если setTimeout установлен на 0 миллисекунд, его callback попадет в очередь и будет выполнен только после того, как основной код завершится.

Цикл событий обеспечивает JavaScript способность обрабатывать асинхронные задачи и позволяет создавать динамичные и интерактивные веб-приложения.

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

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

#асинхронность

#promise

#event loop

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