Iniciante Fundamentos
Promises
Uma Promise (promessa) representa um valor que ainda não existe, mas chegará no futuro. Ela substitui o aninhamento de callbacks por um código mais limpo.
Estados de uma Promise
- pendente (pending): ainda em andamento.
- resolvida (fulfilled): terminou com sucesso.
- rejeitada (rejected): terminou com erro.
Usar then e catch
const fs = require("fs/promises");
fs.readFile("dados.txt", "utf8")
.then((conteudo) => {
console.log(conteudo);
})
.catch((erro) => {
console.error("Erro:", erro.message);
});
Criar uma Promise
Use resolve para sucesso e reject para erro:
function esperar(ms) {
return new Promise((resolve, reject) => {
if (ms < 0) {
reject(new Error("Tempo inválido"));
return;
}
setTimeout(() => resolve("Pronto!"), ms);
});
}
esperar(1000).then((msg) => console.log(msg));
Encadear Promises
Cada then pode retornar um valor para o próximo:
esperar(500)
.then((msg) => msg.toUpperCase())
.then((maiusc) => console.log(maiusc));