Event Loop — это механизм, позволяющий Node.js выполнять неблокирующие I/O операции, несмотря на то, что JavaScript является однопоточным языком. Event Loop непрерывно мониторит стек вызовов, очередь колбэков и различные очереди событий (таймеры, I/O).
Основные фазы Event Loop:
setTimeout() и setInterval().setImmediate().socket.destroy().process.nextTick() и микротаски (обещания, queueMicrotask()) выполняются между фазами Event Loop и до перехода к следующей фазе или завершения текущей. process.nextTick() имеет более высокий приоритет, чем микротаски.
javascript
Event Loop позволяет Node.js эффективно обрабатывать множество параллельных запросов без создания отдельного потока для каждого из них, что обеспечивает высокую производительность.