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