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?

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.


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.


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.


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.


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.