JavaScript · Avançado · Inglês · Técnico
process.nextTick
Função do Node que agenda um callback para rodar logo após a operação atual, antes das promises e de qualquer fase do event loop. Tem fila própria, de prioridade máxima.
Onde usar
Aparece em código antigo de Node para adiar um callback e manter a API sempre assíncrona. Em code review, uso recursivo de nextTick pode privar o event loop de I/O, pois a fila precisa esvaziar antes de seguir.
Em código
const p = Promise.resolve();
p.then(() => console.log('promise'));
process.nextTick(() => console.log('tick'));
console.log('sync');
// CommonJS: sync, tick, promiseExemplos
The nextTick callback runs before any promise callback in CommonJS.
O callback do nextTick roda antes de qualquer callback de promise em CommonJS.
A recursive nextTick can starve the I/O of the event loop.
Um nextTick recursivo pode sufocar o I/O do event loop.
Cuidado
Confundir com setImmediate e com a microtask de promise, pois nextTick não é o próximo ciclo do event loop e roda antes dele.
Antônimos
setImmediate