结合延期回复

是否有可能,当使用jQuery Deferred的$.when将响应组合到一个数组中时?

 var promise = $.when( ajaxRequest1, ajaxRequest2 ); promise.done(callback); 

“回调”函数看起来像function callback(resp, options) 。 请注意它只接受一个响应。

我认为以下可能有用,但没有。

 var promise = $.when( ajaxRequest1, ajaxRequest2 ); promise.then(function(resp1, resp2) { return [resp1, resp2]; }); 

问题是jQuery使用3个参数解析了它的ajax promise,当你在多个promise上使用$.when时,它们会成为一个值数组。 要仅获取data (每个ajax回调的第一个参数),请使用

 var promise = $.when( ajaxRequest1, ajaxRequest2 ).then(function(resp1, resp2) { return [resp1[0], resp2[0]]; });