参见英文答案 >
How to properly break out of a promise chain?3个
我有一个类似于这个的代码:
我有一个类似于这个的代码:
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 });
我使用“throw new Error()”,它工作得很好,但我不确定它是否是推荐的方式.
解决方法
这是Mozilla重新开始的正确方法
你可以在这里看到更多细节: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then#Chaining
你可以在这里看到更多细节: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then#Chaining