var promises = [promise1, promise2, promise3... promiseN];
如何使用?
$.when(promise1(), promise2(), promise3(), ...promiseN()).then(function(){ doSomething()});
我宁愿传递数组...有什么想法可以正确地做到这一点吗?显然这行不通。
$.when(promises).then(function(){ doSomething()});
做得很奇怪,失败,总是全部接受数组。
谢谢, 〜ck
最佳答案
我不熟悉$.when()但你应该能够使用 javascript 函数 apply() 做你想做的事。大致如下:
$.when.apply($, promises).then(function(){ doSomething()});
第一个参数是在函数调用中绑定(bind)到“this”的内容(类似于 $.proxy() 在 jquery 中的作用),第二个参数是要传递给函数的参数数组。
例如:
myobj.myfunc.apply(myobj, [1,2,3]);
//is the same as
myobj.myfunc(1,2,3);
关于javascript - 我有一个延迟对象数组,如何将 then 与 jQuery.when 一起使用?它不需要数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9137519/