我有一个非常简单的JavaScript链,比之前的类似问题简单得多。代码:a,b,c。所以我想知道也许可能会有一个更简单的答案。
这是我的承诺链,Mongoose。
var someValue = 314;
// 1st promise
var promiseStep1 = step1.find({}).exec();
promiseStep1.then(function(doc1){
// do stuff with doc1
if (doc1 == someValue){
// HOW DO I BREAK OUT OF THE PROMISE CHAIN
// and not execute the 2nd and 3rd promises below?
}
// 2nd promise
return step2.find({}).exec();
}).then(function(doc2){
// do stuff with doc2
// 3rd promise
return step3.find({}).exec();
}).then(function(doc3){
// do stuff with doc3
// we're all done here
// handles error for all the promises
}, function(err){
return err;
});
如何突破if (doc1 == someValue)
条件下的承诺链,以便后者承诺不会被执行?