Módulo 02 — Lógica e Algoritmos • 1º Semestre

Demonstrações práticas e código-fonte completo comentado para fundamentar os conceitos de JavaScript: Async/Await e Promises.


🗺️ Fluxo de Execução e Rastreamento

flowchart LR
    REQ["fetchData()"] --> PROMISE["Promise (Assíncrona)"] --> RES["async / await -> Resultado"]
    
    style REQ fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style RES fill:#e8f5e9,stroke:#4caf50,stroke-width:2px

💻 Código-Fonte Completo e Comentado

Abaixo está a implementação funcional na linguagem javascript.

// Demonstração de Async/Await em JavaScript (Node.js)
const buscarDados = () => new Promise(resolve => {
    setTimeout(() => resolve({ id: 101, status: "AUTORIZADO" }), 100);
});

async function executarFluxo() {
    console.log("=== JAVASCRIPT: EVENT LOOP & ASYNC/AWAIT ===");
    console.log("[1] Disparando operação assíncrona...");
    const dados = await buscarDados();
    console.log(`[2] Resposta recebida -> ID: ${dados.id} | Status: ${dados.status}`);
}

executarFluxo();

⚙️ Instruções de Compilação e Execução

Para compilar e executar o código acima em seu terminal, utilize o comando:

node script.js

🖥️ Saída Esperada no Console

Ao executar o programa, o resultado formatado no terminal deve ser exatamente:

=== JAVASCRIPT: EVENT LOOP & ASYNC/AWAIT ===
[1] Disparando operação assíncrona...
[2] Resposta recebida -> ID: 101 | Status: AUTORIZADO