Javascript 如何*何时*延迟数组

Javascript 如何*何时*延迟数组,javascript,jquery,jquery-deferred,.when,Javascript,Jquery,Jquery Deferred,.when,我试图对数组中的每个项进行ajax调用。现在,我将所有承诺放入一个数组,然后执行$.when.apply // throw all the promises into an array _.each(birds,function(bird,i){ birds[i] = getBird(bird) // getBbird returns $.ajax(...) }); // do $.when.apply return $.when.apply($,birds).then(function

我试图对数组中的每个项进行ajax调用。现在,我将所有承诺放入一个数组,然后执行$.when.apply

// throw all the promises into an array
_.each(birds,function(bird,i){
    birds[i] = getBird(bird) // getBbird returns $.ajax(...)
});
// do $.when.apply
return $.when.apply($,birds).then(function(res){
    console.log("bird is the word",res)
});
我最初的搜索,所以我是这样做的“方式”应该这样做。但是,
apply
感觉很不舒服。有没有更标准化/通用的jQuery方法来实现这一点

提前谢谢

但是apply感觉很粗糙。有没有更标准化/通用的jQuery方法来实现这一点

不,jQuery的方式很粗糙,不要让我从头开始

但是,有一个用于此功能的标准化工具,它在所有适当的promise库(、、甚至在即将推出的中)中实现,称为
all()
,它作为promise构造函数上的静态函数提供

但是apply感觉很粗糙。有没有更标准化/通用的jQuery方法来实现这一点

不,jQuery的方式很粗糙,不要让我从头开始


但是,所有适当的promise库(、、甚至在即将推出的promise库中)中都实现了此功能的标准化工具,称为
all()
,它作为promise构造函数上的静态函数提供。

apply
并非黑客行为。这是好的JS@lonesomeday我应该使用这个或$作为范围参数吗?为什么?:)这可能无关紧要,取决于函数的编码。但是
$.when.apply($
相当于
$.when(
),所以这是更安全的选择。IMHO,jQuery应该真正提供
.whenAll()
方法或允许
$.when()
接受数组。在内部,这样的方法将使用
.apply()
,就像许多其他插件一样。在插件世界中,了解
.apply()
.call())
是强制性的。garsh。scope参数似乎与done的作用域无关。当有一个dfd时,回调的作用域是when返回的承诺。当有多个dfd时,作用域似乎是作为要应用的第二个参数传入的数组…所以实际上
$.when.apply(不管怎样,…
似乎是
$的箭袋。当(…
没有黑客攻击时。这是好的JS!@lonesomeday我应该使用这个或$作为范围参数,为什么?:)这可能不重要,取决于函数的编码。但是
$当.apply($
相当于
$。当(
,所以这是更安全的选择。嗯,jQuery真的应该提供一个
.whenAll()
方法,或者允许
$.when()
接受数组。在内部,这种方法会像许多其他插件一样使用
.apply()
。在插件世界中,理解
.apply()
.call()
是强制性的。garsh。scope参数似乎与done的作用域无关。当有一个dfd时,回调的作用域是when返回的承诺。当有多个dfd时,作用域似乎是作为要应用的第二个参数传入的数组…所以实际上
$.when.apply(无论什么,…
似乎是
$的箭袋。当(…