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.

Em aplicações web, travar a interface é uma experiência péssima para o usuário.

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:

O JavaScript é síncrono por padrão, mas possui mecanismos para lidar com tarefas assíncronas.

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.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

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.


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.


O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.


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.