Sobes.tech
Middle

Kan de rejected-toestand van een belofte binnenin then worden afgehandeld? Wat is het verschil tussen reject afhandelen in de tweede callback van then en in catch?

sobes.tech AI

Antwoord van AI

Ja, binnen then kun je de afgewezen toestand afhandelen door een tweede callback aan then door te geven:

promise.then(
  result => { /* verwerking van succesvol resultaat */ },
  error => { /* foutafhandeling */ }
);

Het verschil tussen reject afhandelen in de tweede callback van then en in catch:

  • De tweede callback van then behandelt alleen fouten die in de oorspronkelijke belofte optreden.
  • catch vangt fouten op die zowel in de oorspronkelijke belofte als in elke eerdere then optreden, als ze niet zijn afgehandeld.

Daarom is catch handiger voor gecentraliseerde foutafhandeling, en de tweede callback van then voor lokale foutafhandeling van de specifieke belofte.