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