function buscarProduto(nomeProduto) {
return new Promise((resolve, reject) => { // 1. "Promise" com apenas um 's'
setTimeout(() => { // 2. "setTimeout" com 't' no início
const produto = {
nome: "Notebook",
preco: 2500,
disponivel: true
};
if (nomeProduto === produto.nome && produto.disponivel) {
resolve(produto);
} else {
reject("Produto não encontrado ou indisponível");
}
}, 2000); // 4. A vírgula separa a função do tempo no setTimeout
});
}
buscarProduto("Notebook")
.then((produto) => {
console.log("Produto encontrado!");
console.log("Nome:", produto.nome);
console.log("Preço:", produto.preco);
console.log("Disponível:", produto.disponivel);
})
.catch((erro) => { // 5. "catch" com apenas um 'c'
console.log("Erro:", erro);
});
function rodarContadorAssincrono(limite, callback) {
let contador = 0;
console.log("🟢 [INÍCIO] Iniciando contador ASSÍNCRONO...");
proximoPasso();
function proximoPasso() {
setTimeout(() => {
contador++;
callback(contador);
if (contador < limite) {
proximoPasso();
} else {
console.log("🏁 [FIM] Contador assíncrono finalizado!");
}
}, 2000);
}
}
function exibirContador(valor) {
console.log(`⏱️ [ASSÍNCRONO] Contador: ${valor}`);
}
console.log("\n--- TESTE ASSÍNCRONO ---");
rodarContadorAssincrono(3, exibirContador);
console.log("✅ Esta mensagem APARECE IMEDIATAMENTE, enquanto o contador roda no fundo!");
To embed this project on your website, copy the following code and paste it into your website's HTML: