使用jQuery Deferred' s $.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];
});
答案 0 :(得分:1)
问题是jQuery使用3个参数解析了它的ajax promise,当你在多个promise上使用$.when
时,它们会成为一个值数组。要仅获取data
(每个ajax回调的第一个参数),请使用
var promise = $.when(
ajaxRequest1,
ajaxRequest2
).then(function(resp1, resp2) {
return [resp1[0], resp2[0]];
});