Sobes.tech
Middle

É possível tratar o estado rejected de uma promessa dentro de then? Qual é a diferença entre tratar reject no segundo callback de then e no catch?

sobes.tech IA

Resposta da IA

Sim, dentro de then pode-se tratar o estado rejeitado, passando um segundo callback para then:

promise.then(
  result => { /* tratamento do resultado bem-sucedido */ },
  error => { /* tratamento do erro */ }
);

A diferença entre tratar reject no segundo callback de then e no catch:

  • O segundo callback de then trata apenas erros que ocorrem na promessa original.
  • catch captura erros que ocorrem tanto na promessa original quanto em qualquer then anterior, se não forem tratados.

Assim, catch é mais conveniente para o tratamento centralizado de erros, e o segundo callback de then para o tratamento local de erros específicos da promessa.