Até aqui, tudo o que fizemos em JavaScript seguiu uma lógica simples: uma linha executa, depois a próxima, depois a outra.
Mas aplicações modernas precisam lidar com coisas que levam tempo: buscar dados de uma API, esperar uma resposta do servidor, carregar arquivos, aguardar ações do usuário.
Para entender como o JavaScript lida com isso, precisamos compreender um conceito fundamental: assincronicidade.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender o que é código síncrono
- Entender o que é código assíncrono
- Saber por que a assincronicidade é necessária
- Compreender o comportamento do JavaScript diante de tarefas demoradas
- Preparar a mente para Promises, async e await
Primeiro: o que é código síncrono?
Código síncrono é aquele que executa uma tarefa de cada vez, sempre esperando a anterior terminar.
É como uma fila única: só passa para a próxima pessoa quando a atual termina.
console.log("Início");
console.log("Processando");
console.log("Fim"); A execução acontece exatamente nessa ordem.
console.log("Início");
// Saída será "Início"
console.log("Processando");
// Saída será "Processando"
console.log("Fim");
// Saída será "Fim" O problema do código síncrono
Agora imagine que uma dessas tarefas demore muito.
Por exemplo: buscar dados de um servidor que leva 5 segundos para responder.
Se o JavaScript esperasse isso de forma síncrona, a página inteira ficaria travada.
A vida real ajuda a entender
Imagine que você está cozinhando:
- Você coloca água para ferver
- Enquanto isso, corta os legumes
- Depois, prepara o molho
Você não fica parado olhando a água ferver.
Isso é pensar de forma assíncrona.
Então… o que é código assíncrono?
Código assíncrono permite que o JavaScript:
- Inicie uma tarefa demorada
- Continue executando outras tarefas
- Volte para a tarefa demorada quando ela terminar
Ou seja: ele não fica esperando parado.
Um primeiro contato com assincronicidade
Veja este exemplo simples usando setTimeout:
console.log("Início");
setTimeout(() =>
{
console.log("Demorado");
}, 2000);
console.log("Fim");
Vamos analisar a saída:
console.log("Início");
// Saída será "Início"
console.log("Fim");
// Saída será "Fim"
console.log("Demorado");
// Saída será "Demorado" (após 2 segundos) Mesmo estando no meio do código, o trecho demorado é executado por último.
Isso parece estranho… mas é poderoso
O JavaScript:
- Inicia a tarefa demorada
- Não espera ela terminar
- Continua executando o código
- Volta quando a tarefa fica pronta
Esse comportamento é o que permite:
- Páginas responsivas
- Botões clicáveis enquanto dados carregam
- Aplicações modernas e fluidas
O JavaScript é assíncrono por natureza?
Aqui vai um ponto muito importante:
Esses mecanismos incluem:
- Callbacks
- Promises
- async / await
E é exatamente isso que vamos estudar nas próximas aulas.
Resumo da aula para nunca mais esquecer
- Código síncrono executa uma tarefa por vez
- Tarefas demoradas podem travar a aplicação
- Assincronicidade permite continuar executando código
- O JavaScript lida com isso de forma inteligente
- Esse conceito é base para Promises e async/await
Na próxima aula, vamos ver o primeiro mecanismo prático de assincronicidade: Callbacks.
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?
Música tema do Blanka
Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.
Ultima Online
Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras
Duck Hunt
Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".
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.
Nintendo Entertainment System
O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.










