问题 Since using $.Deferred I've run into this scenario a couple times: I have a list of values each of which yields a Deferred Object in some way and I want to execute a callback once all of the Deferred Objects are resolved. A more concrete example would be something like this: 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,