Выбор ответа Middle Event loop и libuv обновлено

Порядок фаз event loop

Вопрос

В каком порядке event loop Node.js проходит основные фазы за один оборот?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: timers → poll → check → close callbacks. Порядок: timers, pending callbacks, idle/prepare, poll, check, close callbacks.

Варианты ответа

  1. poll → timers → check → close
  2. timers → poll → check → close callbacksправильный ответ
  3. check → timers → poll → close callbacks
  4. timers → check → poll → close callbacks

Разбор

Порядок: timers, pending callbacks, idle/prepare, poll, check, close callbacks. Отсюда следствие: внутри I/O-колбэка (poll) setImmediate (check) всегда раньше таймера.

Остальные варианты переставляют фазы. Например, если бы check шёл до poll, setImmediate из I/O-колбэка ждал бы следующего оборота.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме