Accueil / javascript / 1-js / 11-async / 03-promise-chaining / 01-then-vs-catch / solution.md

solution.md

La réponse courte est : non, ils ne sont pas égaux :

La différence est que si une erreur survient dans f1, elle est gérée par .catch ici :

promise
  .then(f1)
  .catch(f2);

...Mais pas ici:

promise
  .then(f1, f2);

En effet, une erreur est transmise dans la chaîne et, dans le second code, il n'y a pas de chaîne à la suite de f1.

En d'autres termes, .then transmet les résultats/erreurs au prochain .then/catch. Donc, dans le premier exemple, il y a un catch en dessous, et dans le second - il n'y en a pas, donc l'erreur n'est pas gérée.