我正在使用node.js的延期模块,我创建了从远处服务器获取数据的延期函数。我需要从不同遥远的服务器获取10个文件,如何通过承诺知道何时完成并获取所有内容,然后将所有内容产生阵列?目前,我已经关闭了,只有在我使用以前的情况下,我才能获取下一个文件,但它是同步和缓慢的。
根据我认为您正在使用的模块的文档,您可以执行此操作:
deferred(delayedAdd(2, 3), delayedAdd(3, 5), delayedAdd(1, 7))(function (result) {`
console.log(result); // [5, 8, 8]`
});
例如:
deferred(promise1, promise2, promise3)(function (result) {
// `result` is an array of the results
});
在上面的链接上,搜索"分组承诺"(尽管它没有上述内容更多)。
如果您有一系列承诺,则可以使用Function#apply
进行上述:
deferred.apply(undefined, theArray)(function (result) {
// `result` is an array of the results
});