Defer异步流程控制遵循PromiseA+规范
在Defer的异步流程控制实现中,代码如下:
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.log(error);
});
上述代码实现了一个基本的异步流程控制,利用Defer对象,模拟了一个随机成功或失败的异步操作。promise方法返回一个被封装的promise对象,它会在0毫秒后进行异步操作。成功时调用resolve
,失败时调用reject
,并根据结果触发then
方法中的相应回调。
下载地址
用户评论