Я обещаю таким образом,
function getMode(){
var deferred = Promise.defer();
checkIf('A')
.then(function(bool){
if(bool){
deferred.resolve('A');
}else{
return checkIf('B');
}
}).then(function(bool){
if(bool){
deferred.resolve('B');
}else{
return checkIf('C');
}
}).then(function(bool){
if(bool){
deferred.resolve('C');
}else{
deferred.reject();
}
});
return deferred.promise;
}
checkIf
возвращает обещание, и да checkIf
не может быть изменено.
Как я вырваться из цепочки в первом матче? (каким-либо образом, кроме явно бросая ошибку?)