web-dev-qa-db-ja.com

推奨される方法でプロミスチェーンの実行を停止する

私はこれに似たコードを持っています:

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
});

返された結果が有効でない場合は、次の.then()関数の呼び出しを停止します。

「throw new Error()」を使用しましたが、うまく機能しましたが、それが推奨される方法かどうかはわかりません。

8

これは、Mozillaが推奨する正しい方法です。詳細については、こちらをご覧ください。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then#Chaining

2
Tai Le