我正在使用Node.js的延迟模块,我创建了从远程服务器获取数据的延迟函数。我需要从不同的远程服务器获取10个文件,如何做到这一点,承诺知道什么时候完成并获取所有然后结果数组? 目前我已经关闭,只有当我完成之前的操作时我才会获取下一个文件,但它是同步且缓慢的。
答案 0 :(得分:1)
根据我所假设的the documentation你正在使用的模块,你可以这样做:
deferred(delayedAdd(2, 3), delayedAdd(3, 5), delayedAdd(1, 7))(function (result) {`
console.log(result); // [5, 8, 8]`
});
E.g:
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
});