NodeJs: что за setImmediate()?
Функция setImmediate Node.js взаимодействует с циклом событий особым образом
Когда вы хотите выполнить какой-то фрагмент кода асинхронно, но как можно скорее, одним из вариантов является использование функции setImmediate(), предоставляемой Node.js:
setImmediate(() => {
//run something
})Любая функция, переданная в качестве аргумента setImmediate(), является обратным вызовом, который выполняется на следующей итерации цикла событий.
Как setImmediate() отличается от setTimeout(() => {}, 0) (прохождение таймаута 0 мс) и от process.nextTick()?
Переданная функция process.nextTick() будет выполняться на текущей итерации цикла событий после завершения текущей операции. Это означает, что он всегда будет выполняться до setTimeout и setImmediate.
Обратный вызов setTimeout() с задержкой 0ms очень похож на setImmediate(). Порядок выполнения будет зависеть от различных факторов, но оба они будут выполняться на следующей итерации цикла событий.