Javascript 如何*何时*延迟数组
我试图对数组中的每个项进行ajax调用。现在,我将所有承诺放入一个数组,然后执行$.when.applyJavascript 如何*何时*延迟数组,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
// 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(无论什么,…
似乎是$的箭袋。当(…