Junior — Middle
Pode explicar o princípio de funcionamento do Event Loop em JavaScript?
sobes.tech IA
Resposta da IA
O Event Loop em JavaScript é um mecanismo que permite processar operações assíncronas sem bloquear o thread principal de execução.
Princípio de funcionamento:
- As chamadas de funções e o código síncrono são executados imediatamente na pilha de chamadas.
- Operações assíncronas (por exemplo, temporizadores, requisições de rede) são enviadas para Web APIs (navegador) ou para a API correspondente no Node.js.
- Quando uma operação assíncrona termina, seu callback é colocado na fila de tarefas (task queue).
- O Event Loop verifica constantemente a pilha de chamadas: se estiver vazia, ele pega o primeiro callback da fila de tarefas e o coloca na pilha para execução.
Dessa forma, o JavaScript permanece de thread única, mas pode lidar eficientemente com operações assíncronas sem bloquear.
Exemplo:
console.log('Início');
setTimeout(() => {
console.log('Chamada assíncrona');
}, 0);
console.log('Fim');
// A saída será:
// Início
// Fim
// Chamada assíncrona