Como o Event Loop do JavaScript Funciona? 🤯
- #JavaScript
Se você programa em JavaScript, já deve ter ouvido falar do Event Loop. Mas você sabe realmente como ele funciona? Vamos descomplicar isso agora! 🚀
O que é o Event Loop?
O Event Loop é o que faz o JavaScript rodar código assíncrono sem travar tudo. Ele gerencia o que é executado e quando, garantindo que seu código não vire uma bagunça.
Como Funciona na Prática?
O JavaScript tem uma Call Stack (Pilha de Execução), onde as funções entram e saem na ordem (LIFO - Last In, First Out).
Exemplo:
function funcA() {
console.log("A");
funcB();
console.log("A finalizado");
}
function funcB() {
console.log("B");
}
funcA();
Saída:
A
B
A finalizado
Tudo linear, sem surpresas. Mas e se jogarmos algo assíncrono?
console.log("Início");
setTimeout(() => {
console.log("Timeout");
}, 0);
console.log("Fim");
Saída:
Início
Fim
Timeout
O setTimeout não bloqueia a execução. Ele vai para uma fila (Task Queue) e é executado depois que a Call Stack estiver vazia.
Promises e Prioridade 🚀
Promises vão para outra fila (Microtask Queue), que tem prioridade sobre setTimeout
. Veja:
console.log("Início");
setTimeout(() => console.log("Timeout"), 0);
Promise.resolve().then(() => console.log("Promise"));
console.log("Fim");
Saída:
Início
Fim
Promise
Timeout
As Promises são executadas antes do setTimeout
! 🔥
Conclusão
O Event Loop é o maestro que impede o JavaScript de virar um caos. Entender como ele funciona ajuda a evitar bugs e melhorar o desempenho do código.
Se curtiu, compartilha com a galera! E se ficou com dúvida, comenta aí! 🚀