Entendendo setImmediate()
Quando você quer executar um trecho de código assíncronamente, mas o mais rápido possível, uma opção é utilizar a função setImmediate()
provida pelo Node.js:
setImmediate(() => {//faça algo})
Qualquer função passada como argumento ao setImmediate() será executada na próxima iteração do event loop.
Qual a diferença entre setImmediate()
, setTimeout(() => {}, 0)
(passando 0ms como delay), e process.nextTick()
?
A função passada para o process.nextTick()
será executada na iteração atual do event loop, depois que a operação corrente finalizar. Isso significa que ela sempre executa antes do setTimeout
e do setImmediate
.
Uma callback setTimeout()
com delay de 0ms é muito similar ao setImmediate()
. A ordem de execução vai depender de vários fatores, mas ambas irão rodar na próxima iteração do event loop.