Skip to content

Latest commit

 

History

History
23 lines (14 loc) · 1.14 KB

24.entendendo_o_processnextTick.md

File metadata and controls

23 lines (14 loc) · 1.14 KB

Entendendo o process.nextTick()

À medida que você tenta entender o event loop do Node.js, uma parte importante dele é process.nextTick().

Toda vez que o event loop faz uma viagem completa, chamamos de tick.

Quando passamos uma função para o process.nextTick(), instruímos a engine a invocar essa função no final da operação atual, antes que o próximo ciclo de eventos comece:

process.nextTick(() => {
  // faz alguma coisa
})

O event loop está ocupado processando o código de função atual.

Quando essa operação termina, a engine do JS executa todas as funções passadas para as chamadas nextTick() durante essa operação.

É a maneira como podemos dizer a engine do JS para processar uma função de forma assíncrona (após a função atual), mas o mais rápido possível, não a enfileirando.

Chamar setTimeout(() => 0) executará a função no final do próximo tick, muito mais tarde do que ao usar nextTick(), que prioriza a chamada e a executa logo antes do ínicio do próximo tick.

Use nextTick() quando quiser ter certeza de que na próxima iteração do event loop esse código já foi executado.