jquery中对于批量deferred的处理方法
此代码仿照jquery源码中$.when()的实现
function test(i) {
var dfd = $.Deferred();
if(i%2 == 0) {
console.log("resolve " + i);
dfd.resolve();
} else {
console.log("failure " + i);
dfd.reject();
}
return dfd.promise();
}
function call() {
var dfd = $.Deferred();
var remain = 10;
for(var i=0;i< 10;i++){
test(i).done(function() {
if(!(--remain)) {
dfd.resolve();
}
}).fail(function() {
if(!(--remain)) {
dfd.resolve();
}
})
}
return dfd.promise();
}
call().done(function() {
console.log("all finished");
});
您可能感兴趣的文章:
jquery中对于批量deferred的处理方法
jQuery 2.0.3 源码分析 Deferred(最细的实现剖析,带图)
jQuery deffered和promise对象方法
在jQuery 1.5中使用deferred对象的代码(翻译)
jQuery源码分析-05异步队列 Deferred 使用介绍
jQuery 杂项方法
jquery的deferred用法
jquery基础教程之deferred对象使用方法
在jQuery1.5中使用deferred对象 着放大镜看Promise
jQuery的异步机制