var promise = function() { 

    var deferred = new Defer(); 

    setTimeout(function() { 

        var rand = Math.random() > .5; 

        if (rand) { 

            deferred.resolve('ok'); 

        } else { 

            deferred.reject('error'); 

        } 

    }, 0); 

    return deferred.promise; 

}



promise.then(function(data) { 

    console.log(data); 

}, function(error) { 

    console.error(error); 

});

在上面的代码中,Defer 实现了 PromiseA+ 规范异步流程控制。使用 deferred.resolvedeferred.reject 来处理异步任务的结果。