Até agora, entendemos que o JavaScript:
- Executa código de forma síncrona
- Usa o Call Stack para controlar a execução
- Executa uma coisa por vez
Mas então surge a grande pergunta:
como o JavaScript lida com tarefas assíncronas se ele executa uma coisa por vez?
A resposta está no Event Loop.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender o papel do Event Loop
- Compreender como tarefas assíncronas são tratadas
- Visualizar a interação entre Call Stack e filas
- Deixar de tratar o Event Loop como mágica
O problema que o Event Loop resolve
Imagine este código:
console.log("Início");
setTimeout(() =>
{
console.log("Timeout");
}, 0);
console.log("Fim");
Qual será a ordem?
Resultado no console
console.log("Início"); // Saída: Início
console.log("Fim");
// Saída: Fim
// Depois...
// Saída: Timeout
Mesmo com setTimeout igual a 0, o código dentro dele não executa imediatamente.
Isso só faz sentido quando entendemos o Event Loop.
As peças do quebra-cabeça
Para entender o Event Loop, precisamos conhecer três componentes:
- Call Stack
- Task Queue (fila de tarefas)
- Event Loop
Call Stack (relembrando)
O Call Stack:
- Executa código síncrono
- Uma função por vez
- Bloqueia enquanto executa
Task Queue (fila de tarefas)
A Task Queue é onde ficam:
- Callbacks de
setTimeout - Eventos de clique
- Eventos do DOM
Essas tarefas ficam esperando para serem executadas.
O papel do Event Loop
O Event Loop é um processo que:
- Observa o Call Stack
- Verifica se ele está vazio
- Move tarefas da fila para a pilha
Ele nunca executa código diretamente.
Passo a passo do exemplo
Vamos acompanhar o código:
console.log("Início")entra no Call StacksetTimeouté registrado- O callback vai para a Task Queue
console.log("Fim")executa- Call Stack fica vazio
- Event Loop move o callback do timeout para o Call Stack
Por isso o Timeout vem por último.
Importante: tempo zero não é imediato
setTimeout(fn, 0) não significa execução imediata. Significa:
Execute quando o Call Stack estiver livre.
JavaScript continua sendo single-thread
Mesmo com Event Loop:
- Uma função por vez
- Uma execução por vez
O Event Loop apenas organiza a ordem.
Por que isso é tão importante?
Porque o Event Loop explica:
- Por que operações longas travam a página
- Por que callbacks existem
- Por que Promises existem
- Por que async/await existe
Nada disso é mágica.
Resumo da aula para nunca mais esquecer
- JavaScript executa código pelo Call Stack
- Tarefas assíncronas vão para filas
- O Event Loop gerencia a ordem
- Callbacks só executam quando a pilha está vazia
- Tempo zero não é execução imediata
Na próxima aula, vamos aprofundar esse modelo entendendo Microtasks e Macrotasks — o detalhe fino que diferencia código bom de código excelente.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
PDP-1
O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.
Senhas
Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.
Mouse
O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.
Tetris
Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.
PC com barulho?
Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.










