Sobes.tech
Middle

Czy można obsłużyć stan rejected obietnicy wewnątrz then? Jaka jest różnica między obsługą reject w drugim callbacku then a w catch?

sobes.tech AI

Odpowiedź od AI

Tak, wewnątrz then można obsłużyć stan odrzucony, przekazując drugi callback do then:

promise.then(
  result => { /* obsługa pomyślnego wyniku */ },
  error => { /* obsługa błędu */ }
);

Różnica między obsługą reject w drugim callbacku then a catch:

  • Drugi callback then obsługuje tylko błędy występujące w pierwotnym obiekcie promise.
  • catch przechwytuje błędy występujące zarówno w pierwotnym promise, jak i w dowolnym wcześniejszym then, jeśli nie zostały obsłużone.

Dlatego catch jest wygodniejszy do scentralizowanego obsługi błędów, a drugi callback then do lokalnej obsługi błędów konkretnego promise.