Цикл событий в Node.js состоит из нескольких фаз:
setTimeout() и setInterval().setImmediate()).setImmediate()), переходит в фазу check.setImmediate().close, например, при закрытии сокета.Нестандартные моменты:
process.nextTick(): Выполняется между фазами цикла событий и перед любым колбэком в текущей фазе. Имеет более высокий приоритет..then(), .catch(), .finally()) также выполняются как микрозадачи, сразу после выполнения текущей операционной задачи или функции, прежде чем цикл событий перейдет к следующей фазе или обработает другие макрозадачи (например, таймеры или I/O).Структура фаз:
plaintext
Пример выполнения setImmediate vs setTimeout:
javascript
Пример выполнения process.nextTick:
javascript