1

我正在尝试对数组中的每个项目进行 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)
});

我最初的 SO 搜索基本上证实了我正在按照它应该做的“方式”做这件事。但apply感觉很hacky。有没有更标准化/通用的 jQuery 方法来实现这一点?

提前致谢。

4

1 回答 1

1

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

不,jQuery 方式老套,不要让我开始了解如何处理结果

但是,在所有适当的Promise 库(BluebirdQRSVPWhenDojo,甚至在即将到来的ES6 Promise中)都实现了此功能的标准化工具,该工具all()可作为 Promise 构造函数上的静态函数使用.

于 2014-07-27T13:03:10.310 回答