// 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...");
});
To embed this project on your website, copy the following code and paste it into your website's HTML: