【发布时间】:2016-07-05 19:50:19
【问题描述】:
我正在尝试并行运行函数数组,当每个人都完成时,我想要处理该结果。 我正在使用承诺。现在,我可以将所有函数放在一个数组中并且可以 Promise.all(函数数组) 但我有像
这样的数组[[promise1, promise2], [promise3,promise4], [promise5,promise6]],
每个promise 都是promisified 函数。 Promise 参考文档说 Promise.all 中的参数应该是一个可迭代对象,我的数组是可迭代的。 但这对我不起作用。我认为它正在执行 [promise1, promise2] 作为一个承诺,而不是个人承诺。
任何人都可以帮助我如何实现它或有更好的方法吗?
【问题讨论】:
-
您需要Merge/flatten a multidimensional array in JavaScript?,这样您就可以根据需要拥有一组扁平的承诺。
-
谁对所有答案都投了反对票,请评论他们有什么问题。
-
promise.all接受一个 promise 对象数组,这些对象是根据您已经调用的函数的返回值创建的。 “现在,我可以将所有函数放在一个数组中,并且可以执行 Promise.all(函数数组)”不会调用这些函数,而是会使用输入数组的重建副本来解析返回的 Promise。
标签: javascript node.js promise