【发布时间】:2020-02-17 06:05:27
【问题描述】:
如果我有一些要并行解决的承诺。我可以使用 Promise.all() 解决它们。但是,如果这些 Promise 内部也有需要解决的 Promise 怎么办?它们会自动解决还是我必须在 Promise.all() 之前手动解决它们?
另外,解决承诺的首选方法是什么? 1. 收集它们然后使用 Promise.all() 2. 创建 Promise 并等待它们自行解决?
【问题讨论】:
-
不看代码很难说
-
"我可以使用 Promise.all() 解决它们" - 不,
Promise.all不能解决任何问题,promise 需要自己解决。Promise.all只创建一个新的承诺,它将等待所有的输入。 -
我猜你对多线程环境感到困惑。 js 中只有一个单线程事件循环,所以并行性很难,除非你使用
process.fork() -
只要你解决了每个promise中的嵌套promise,一切都很好。
标签: javascript node.js