Junior — Middle
Podes explicar o que é uma Promessa e como ela é usada na programação assíncrona?
sobes.tech IA
Resposta da IA
Promise é um objeto em JavaScript que representa o resultado de uma operação assíncrona, que pode ser concluída com sucesso ou com erro no futuro. Promise permite escrever código assíncrono de forma mais legível, evitando os 'infernos dos callbacks'.
Promise tem três estados:
- pending (pendente) — estado inicial,
- fulfilled (cumprido) — a operação foi concluída com sucesso,
- rejected (rejeitado) — a operação terminou com um erro.
O uso de Promise permite encadear métodos .then() para tratar resultados bem-sucedidos e .catch() para tratar erros.
Exemplo:
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const success = true;
if (success) {
resolve('Dados recebidos');
} else {
reject('Erro ao obter dados');
}
}, 1000);
});
}
fetchData()
.then(result => {
console.log(result); // 'Dados recebidos'
})
.catch(error => {
console.error(error);
});
Assim, Promise ajuda a gerenciar operações assíncronas e seus resultados de forma mais conveniente e compreensível.