jquery中对于批量deferred的处理方法
更新时间:2014年01月22日 15:10:37 作者:
这篇文章主要介绍了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");
});
输出结果:
复制代码 代码如下:
resolve 0 test.js:4
failure 1 test.js:7
resolve 2 test.js:4
failure 3 test.js:7
resolve 4 test.js:4
failure 5 test.js:7
resolve 6 test.js:4
failure 7 test.js:7
resolve 8 test.js:4
failure 9 test.js:7
all finished
相关文章
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
这篇文章主要为大家详细介绍了CKEditor无法验证的解决方案和jQuery Validate验证框架,感兴趣的小伙伴们可以参考一下2016-05-05jQuery Validation插件remote验证方式的Bug解决
jQuery插件很多,其中一个重要的插件便是jQuery Validation,它的作用是对表单进行验证,还上了jQuery官网。2010-07-07
最新评论