September 30th, 2025

Entendendo o Event Loop no Node.js

#Node.js
#Event Loop
#Tutorial

Vamos falar um pouco sobre o Event Loop, como ele funciona e o que ele resolve?

O JavaScript é, por natureza, uma linguagem single-threaded. Isso significa que ele consegue executar apenas uma operação por vez dentro do seu loop principal.

E aí vem a grande questão: como o Node.js consegue lidar com operações assíncronas sem travar a execução do código?

A resposta está no Event Loop.

O que é o Event Loop?

O Event Loop é o mecanismo que permite ao Node.js gerenciar tarefas assíncronas sem bloquear a thread principal.
Ele funciona em conjunto com o kernel do sistema operacional:

Como o Event Loop é iniciado?

Quando o Node.js inicializa:

  1. Ele começa a executar seu código.
  2. Esse código pode agendar tarefas assíncronas (como setTimeout, promises, I/O, etc.).
  3. O Event Loop entra em ação e passa a organizar a execução dessas tarefas de forma eficiente.

As fases do Event Loop

O Event Loop é dividido em fases.
Cada fase possui uma fila FIFO (First In, First Out) de callbacks a serem executadas.

As principais fases são:

1. Timers

Executa callbacks agendadas por:

2. Callbacks Pendentes

Nesta fase, o Node.js lida com operações de I/O (como leitura de arquivos ou requisições de rede) que não puderam ser executadas imediatamente na fase anterior.

3. Idle, Prepare

Fases internas utilizadas pelo Node.js.
Não costumam ser relevantes para quem está desenvolvendo.

4. Poll

É uma das fases mais importantes:

5. Check

Fase dedicada a callbacks agendadas com setImmediate().

Quando você usa setImmediate(), está basicamente dizendo:
"Execute essa tarefa assim que o Event Loop chegar na fase check, no final deste ciclo."

6. Close

Última fase do Event Loop.
Aqui o Node.js lida com callbacks relacionadas ao fechamento de recursos, como sockets ou conexões que foram encerradas.

Por que isso importa?

Com o Event Loop, o Node.js consegue:

Onde aprender mais?

Este artigo foi um resumo simplificado.
Para se aprofundar, consulte a documentação oficial do Node.js:

Documentação do Event Loop, Timers e NextTick

Conclusão

O Event Loop é o coração do Node.js.
Ele é o que permite que o JavaScript, mesmo sendo single-threaded, se torne poderoso o bastante para lidar com aplicações assíncronas, performáticas e escaláveis.

Saber o que é o Event Loop vai tornar seu código TS/JS melhor.

Porque você vai saber utilizar Promises corretamente e vai otimizar suas operações CPU Bound. Vai saber usar melhor o sistema de filas da sua aplicação.

Isso é relevante pra você se destacar com um Dev Senior Node.