Sobes.tech
Junior — Middle

Pode explicar o princípio de funcionamento do Event Loop no Node.js e o seu papel no processamento assíncrono de tarefas?

sobes.tech IA

Resposta da IA

O Event Loop no Node.js é um mecanismo que permite executar código assíncrono sem bloquear o thread principal. O Node.js funciona num único thread, mas graças ao Event Loop consegue processar múltiplas operações de entrada/saída em paralelo.

Princípio de funcionamento:

  • Quando uma operação assíncrona é iniciada (por exemplo, leitura de um ficheiro ou uma requisição a uma base de dados), ela é enviada para a API do sistema correspondente ou para uma fila.
  • O Event Loop monitora essas operações e, quando elas terminam, coloca os callbacks na fila de tarefas (fila de callbacks).
  • O thread principal processa esses callbacks em sequência, chamando-os um a um.

Assim, o Event Loop garante um processamento não bloqueante de tarefas, permitindo que o Node.js funcione de forma eficiente com muitas operações simultâneas.

Exemplo:

console.log('Start');
setTimeout(() => {
  console.log('Timeout callback');
}, 0);
console.log('End');
// A saída será:
// Start
// End
// Timeout callback