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 título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.


Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.


O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!


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.


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.