ich ein Versprechen, in einer solchen Art und Weise zu brechen,wie Versprechen Kette
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
gibt ein Versprechen, und ja checkIf
nicht modifiziert werden.
Wie kann ich beim ersten Match aus der Kette ausbrechen? (eine andere Möglichkeit als explizit Fehler werfen?)
Haben Sie diese Antwort geprüft? http://stackoverflow.com/questions/20714460/break-promise-chain-and-call-a-function-based-on-the-step-in-the-chain-where-it#answer-20715224 – Mario
@Mario , ja, hat das überprüft, aber meins ist nicht kaputt, ich will bewusst aus der Versprechenskette ausbrechen ... – mido
eine Wahl, die Sie haben, ist http://jsfiddle.net/arunpjohny/1vc7crhw/1/ –