Sobes.tech
Middle+

O que é uma Promise em JavaScript? Fale sobre os estados da promessa e os métodos de manipulação.

sobes.tech IA

Resposta da IA

Promise em JavaScript é um objeto que representa o resultado de uma operação assíncrona, que pode ser concluída com sucesso ou com erro no futuro.

Estados da promessa:

  • pending (pendente) — estado inicial, a operação ainda não foi concluída.
  • fulfilled (cumprido) — a operação foi concluída com sucesso, há um resultado.
  • rejected (rejeitado) — a operação terminou com um erro.

Métodos principais para trabalhar com Promise:

  • .then(onFulfilled, onRejected) — adiciona manipuladores para sucesso e erro.
  • .catch(onRejected) — adiciona um manipulador de erro (equivalente a .then(null, onRejected)).
  • .finally(onFinally) — executa uma função após a resolução da promessa, independentemente do resultado.

Exemplo:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    const success = true;
    if (success) {
      resolve('Dados recebidos');
    } else {
      reject('Erro');
    }
  }, 1000);
});

promise
  .then(result => console.log(result))
  .catch(error => console.error(error))
  .finally(() => console.log('Operação concluída'));