如果事先不知道变量的名称或数量,如何将变量列表动态地注入到函数中。特别是:
我正在尝试替换此“硬编码”版本:
$.when(img1Loaded,img2Loaded,img3Loaded).done(function () { ... etc
具有这样的内容:
$.when(MyDynamicList).done(function () { ... etc
在更广泛的上下文中,可以使用脚本填充var MyDynamicList,并且该脚本包含一个函数的响应,该函数宣布每个图像的加载完成。也就是说,我需要引用一些声明如下的变量:
var img1Loaded = $.Deferred();
,然后在'img.onload'函数中将其引用为:img1Loaded.resolve();
我全部都可以处理单个图像,但不能处理2个或更多图像...
比喻:
var it=['#d1,#d2'];
$(it[0]).on( "click", function() {
alert(this.id);
});
换句话说,对于我的情况,如何创建等效的“ it”。这是完全错误的:var MyDynamicList= img1Loaded,.... imgNLoaded;
我在此上画了一个空白。
答案 0 :(得分:1)
也许您可以创建自己的“ when”函数来使用promise处理数组:
React
myWhen将在dynamicList中的所有“ thenables”解析时完成。
您可以在此处阅读有关诺言的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
希望这会有所帮助