Глоссарий

Event Loop

Event Loop — механизм выполнения асинхронного кода в однопоточных средах (JavaScript, Node.js). Позволяет обрабатывать тысячи одновременных соединений без потоков, выполняя I/O-операции «в фоне» через ОС.

Как работает

  1. Call Stack — синхронный код выполняется последовательно
  2. При встрече async-операции (HTTP-запрос, setTimeout) — она передаётся в Web API/libuv и выполняется вне основного потока
  3. Когда операция завершена — коллбек попадает в Callback Queue
  4. Event Loop проверяет: если Call Stack пуст — переносит коллбек в стек

Macrotasks vs Microtasks

Microtasks (Promise.then, queueMicrotask) выполняются перед следующим macrotask (setTimeout, setInterval). Поэтому Promise.resolve().then(fn) выполнится раньше setTimeout(fn, 0).