web-dev-qa-db-fra.com

Arrêtez l'exécution de Promise Chain de la manière recommandée

J'ai un code similaire à celui-ci:

promise_function().then(()=>{
  //do something
  return another_promise_fucntion();
}).then(() => {
  //do something
  return another_promise_function1();
}).then((result) => {
  //check if result is valid
  if(!result)
     //break chain (how to stop calling the next .then functions ?)
  else
     return another_promise_function2();
}).then(()=>{
   //do something
   return another_promise_function3();
}).catch((err)=>{
   //handle error
});

Je souhaite arrêter d'appeler les fonctions .then () suivantes, si le résultat renvoyé n'est pas valide.

J'ai utilisé "throw new Error ()", et cela a très bien fonctionné, mais je ne sais pas si c'est la façon recommandée.

8
Abderrahman Hilali

C'est la manière correcte qui a recommencé par Mozilla Vous pouvez voir plus de détails ici: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then#Chaining

2
Tai Le