我以这样的方式许下诺言,
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
返回一个 promise,并且 yescheckIf
不能被修改。
如何在第一场比赛中跳出锁链?(除了明确抛出错误之外的任何其他方式?)