// 1. Função que simula a busca assíncrona em um servidor
function buscarDadosUsuario(idUsuario) {
  return new Promise((resolve, reject) => {
    // setTimeout simula o tempo de resposta da rede (2 segundos)
    setTimeout(() => {
      // Simulação de um banco de dados remoto
      const baseDeDados = [
        { id: 1, nome: "Carlos", email: "carlos@email.com" },
        { id: 2, nome: "Mariana", email: "mariana@email.com" }
      ];

      // Procura o usuário na base de dados
      const usuario = baseDeDados.find(u => u.id === idUsuario);

      if (usuario) {
        resolve(usuario); // Se achou, cumpre a Promise com o objeto
      } else {
        reject("Erro: Usuário não encontrado no servidor."); // Se não achou, rejeita
      }
    }, 2000);
  });
}

// 2. Chamando a função e manipulando com then, catch e finally
buscarDadosUsuario(3)
  .then((usuario) => {
    console.log("✅ Sucesso! Dados recebidos:", usuario);
  })
  .catch((erro) => {
    console.error("❌ Falha na operação:", erro);
  })
  .finally(() => {
    console.log("🏁 Operação finalizada. Liberando recursos de rede...");
  });

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: