Sobes.tech
Middle

Lze uvnitř then zpracovat stav rejected promise? Jaký je rozdíl mezi zpracováním reject ve druhém callbacku then a v catch?

sobes.tech AI

Odpověď od AI

Ano, uvnitř then můžete zpracovat stav zamítnutí předáním druhého callbacku do then:

promise.then(
  result => { /* zpracování úspěšného výsledku */ },
  error => { /* zpracování chyby */ }
);

Rozdíl mezi zpracováním reject ve druhém callbacku then a v catch:

  • Druhý callback then zpracovává pouze chyby, které vznikly v původném promise.
  • catch zachytává chyby, které vznikly jak v původném promise, tak v jakémkoli předchozím then, pokud nebyly zpracovány.

Proto je catch vhodnější pro centralizované zpracování chyb, zatímco druhý callback then je určen pro lokální zpracování chyb konkrétního promise.