小编Jef*_*ose的帖子

处理延迟对象的数组

由于使用$.Deferred我已经遇到过这种情况几次:我有一个值列表,每个值都以某种方式产生一个Deferred Object,并且我想在解析所有Deferred对象后执行回调.

一个更具体的例子是这样的:

var urls = [ 'foo.com', 'bar.com', 'baz.com', 'qux.com' ],
    defers = [], defer;

for( var i = 0, j = urls.length; i < j; i++ ){
    defer = $.ajax({
        url: 'http://' + urls[ i ]
    });

    defers.push(defer);
}

$.when.apply(window, defers).done(function(){
    // Do Something
});
Run Code Online (Sandbox Code Playgroud)

有没有比我的例子中的代码更优雅的解决方案?

jquery deferred-loading deferred-execution jquery-deferred

8
推荐指数
1
解决办法
2865
查看次数