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?
Muitos aplicativos
Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.
Space Invaders
A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.
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.
Final Fantasy
O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.
Inteligência artificial
O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.










