ExpertiDict

JavaScript · Avançado · Inglês · Técnico

process.nextTick

/ˈpɹɑsɛs ˈnɛkst tɪk/substantivo

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, promise

Exemplos

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

Veja também

Todos os termos de JavaScript