我正在使用 Node.js 的延迟模块,并且创建了从远程服务器获取数据的延迟函数。我需要从不同的远程服务器获取 10 个文件,如何做到这一点并 promise 知道所有文件何时完成并获取数组中的所有结果? 目前我已经关闭,只有当我完成前一个文件时我才会获取下一个文件,但它是同步且缓慢的。
最佳答案
根据the documentation我假设您正在使用的模块,您可以这样做:
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
});
在上面的链接中,搜索“分组 promise ”(尽管它没有比上面更多的内容)。
如果你有一系列的 promise ,你可以使用 Function#apply
执行上述操作:
deferred.apply(undefined, theArray)(function (result) {
// `result` is an array of the results
});
关于javascript - 如何以异步方式调用 10 个函数并收集所有结果并知道所有结果何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392901/