Javascript 在$.when中使用动态变量
如何在$内使用动态延迟。何时?获得了一个返回延迟承诺的函数Javascript 在$.when中使用动态变量,javascript,jquery,jquery-deferred,Javascript,Jquery,Jquery Deferred,如何在$内使用动态延迟。何时?获得了一个返回延迟承诺的函数ajaxFunction function ajaxFunction(image){ var dfd = $.Deferred(); //Ajax of image return dfd.promise(); } 基于动态条件调用此ajaxFunction,如 var defs = {}; var someQuerySelector = document.querySelectorAll('image'); fo
ajaxFunction
function ajaxFunction(image){
var dfd = $.Deferred();
//Ajax of image
return dfd.promise();
}
基于动态条件调用此ajaxFunction,如
var defs = {};
var someQuerySelector = document.querySelectorAll('image');
for (var i = 0; i < someQuerySelector.length; i++) {
defs[d + 'i'] = ajaxFunction(someQuerySelector[i]);
}
var-defs={};
var someQuerySelector=document.queryselectoral('image');
for(var i=0;i
现在我想把它们用在
$中。when()
如何在$中使用defs
动态键。when(defs['d1'],defs['d2'])
。如何将动态变量应用于此。方法或帮助方面的任何更改都将不胜感激。如果将defs
更改为数组,则可以将其应用到$。当时,如下所示:
var defs = [];
var someQuerySelector = document.querySelectorAll('image');
for (var i = 0; i < someQuerySelector.length; i++){
defs.push(ajaxFunction(someQuerySelector[i]));
}
$.when.apply(this, defs).done(function() {
// all complete, do something...
});
上面假设您将image
更改为有效的选择器,并且为ajaxFunction()
提供了一些参数,否则以相同的方式重复调用N次是非常多余的。是的,我使用image作为参数。还更新了问题$.when.apply(null,defs)这对我有用:)谢谢你的帮助
var defs = $('image').map(function() {
return ajaxFunction(this);
});
$.when.apply(this, defs).done(function() {
// all complete, do something...
});