如何异步调用10个功能并收集所有结果,并知道何时完成



我正在使用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
});

最新更新