Sobre
Turmas
Projetos
Time
Materiais
Artigos
Aulas
PT
EN
Materiais
Materiais
· Frontend
7. JavaScript Assíncrono
22 min de leitura
→
Anterior
6. JavaScript no Navegador
Próximo
8. TypeScript
→
Nesta página
Objetivo da aula
Pré-requisitos
O que você será capaz de explicar ao final
7.1. Por que assincronicidade existe no JavaScript
Operações que demoram e a UI responsiva
Modelo mental: “iniciar agora, continuar depois”
Event loop (visão geral)
7.2. Promises (fundamento)
O que é uma Promise
Estados: pending, fulfilled, rejected
then/catch/finally e encadeamento
Resolver vs rejeitar (e lançar erro)
Promise.all (visão geral)
7.3. async/await (sintaxe mais legível)
O que async faz
await e a “pausa” que não bloqueia a página
try/catch/finally com await
Comparação didática: then/catch vs async/await (mesma lógica)
Armadilhas comuns
7.4. fetch (rede no navegador)
fetch retorna Promise de Response
Response: ok, status, headers
Parsing: json() e text()
GET e POST com JSON
Diferença essencial: erro de rede vs erro HTTP
7.5. Consumir APIs (modelo mental de cliente)
O que é uma API no contexto web
Request/Response com JSON (reforço)
Query string e path params (visão geral)
CORS: por que acontece e limites
Boas práticas: organização mínima sem virar framework
7.6. Tratamento de erro básico
O que pode dar errado
Estratégia mínima de erros (sem paranoia, mas correta)
finally e noções de UX: loading, empty, error
Exemplo “padrão de mercado” (função async completa, curta e realista)
7.7. Boas práticas e limites do mundo real (visão geral útil)
Paralelizar quando possível (evitar “cascata” desnecessária)
Cancelamento (teaser): AbortController
Timeouts: noção importante
Segurança e privacidade
Rate limits e “erros de negócio”
7.8. Erros comuns e confusões clássicas
7.9. Glossário rápido
7.10. Resumo final