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()
. Порядок выполнения будет зависеть от различных факторов, но оба они будут выполняться на следующей итерации цикла событий.