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?
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.
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Tomb Raider - O Filme
Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.
Galaxy Game
As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Space Invaders
O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.










