Pular para conteúdo

Exercícios 14 - Promessas e Event Loop 🕒

🟢 Básicos (Fixação)

  1. Estados: Cite os 3 estados de uma Promise e descreva o que cada um significa.
  2. Sintaxe: Como você capturaria um erro de uma Promise usando a sintaxe de .then() e .catch()?

🟡 Intermediários (Aplicação)

  1. Event Loop: Explique por que, se rodarmos um setTimeout com tempo 0, ele ainda assim executa DEPOIS do código síncrono.
  2. Promise.all: Para que serve o método Promise.all? Dê um exemplo de uso real em um site.

🔴 Desafio

  1. Simulador de Login Assíncrono:
    • Crie uma função autenticar(user, pass) que retorne uma Promise.
    • Simule um atraso de 2 segundos usando setTimeout.
    • Se user === "admin" e pass === "123", a Promise deve ser resolvida com "Acesso Permitido".
    • Caso contrário, deve ser rejeitada com "Dados Inválidos".
    • Consuma essa função usando async/await e exiba o resultado no console (sucesso ou erro).

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Estados **Resolução e Implementação:**
// Solução de referência para: Estados
function solucaoExercicio() {
    console.log("Executando validação de: Promessas e Event Loop");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Promessas e Event Loop**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Sintaxe **Resposta Comentada:** - **Fundamentação:** No contexto de **Promessas e Event Loop**, o conceito abordado (Sintaxe) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Event Loop **Resolução e Implementação:**
// Solução de referência para: Event Loop
function solucaoExercicio() {
    console.log("Executando validação de: Promessas e Event Loop");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Promessas e Event Loop**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Promise.all **Resolução e Implementação:**
// Solução de referência para: Promise.all
function solucaoExercicio() {
    console.log("Executando validação de: Promessas e Event Loop");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Promessas e Event Loop**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Simulador de Login Assíncrono **Resposta Comentada:** - **Fundamentação:** No contexto de **Promessas e Event Loop**, o conceito abordado (Simulador de Login Assíncrono) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.