Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: event loop, asynchronous

Расскажи про Event-loop. Когда выполняется SetImmediate

Этот вопрос проверяет понимание работы цикла событий Node.js и порядка выполнения операций с помощью setImmediate.

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

Event-loop — это механизм, который обрабатывает асинхронные операции в Node.js. SetImmediate выполняется после операций ввода-вывода и таймеров, но до следующей итерации цикла событий. Он позволяет отложить выполнение кода до завершения текущего цикла.

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

Event-loop — это ядро асинхронной обработки в Node.js. Он управляет выполнением кода, обрабатывая события и колбэки в определенном порядке.

Фазы Event-loop:

  1. Timers: Выполняются колбэки от setTimeout и setInterval

  2. Pending callbacks: Выполняются отложенные системные операции (например, ошибки сети)

  3. Poll: Обрабатывает новые события I/O

  4. Check: Выполняются колбэки setImmediate

  5. Close callbacks: Выполняются колбэки закрытия (например, socket.on('close'))

Когда выполняется setImmediate:

  • После фазы Poll и перед фазой Close callbacks

  • В текущей итерации цикла событий, но после операций I/O

  • Позволяет выполнить код сразу после завершения текущих операций

console.log('Start');

setImmediate(() => {
  console.log('setImmediate callback');
});

setTimeout(() => {
  console.log('setTimeout callback');
}, 0);

console.log('End');

Вывод:

Start
End
setTimeout callback
setImmediate callback
  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

  • Node.js

    Node.js

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

#event loop

#asynchronous

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

  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.