【发布时间】:2017-08-05 00:55:16
【问题描述】:
假设我们有以下伪代码:
forLoop() {
forLoop() {
asyncFunction() {
return of AsyncFunction
}
asyncFunction() {
return of AsyncFunction
}
}
}
//Execute this part when all asyncs are done from previous loops.
我知道这不是有效的代码,但如何在 Node.js 中处理
【问题讨论】:
-
promise 会帮助你。为您解答
promise.all -
是的,如果您只是想启动大量异步操作,然后在它们全部完成后执行某些操作,
Promise.all是您的最佳选择。 -
看看 async.js
-
要获得真正的答案,您必须向我们展示真实的代码。 node.js 中的异步函数是非阻塞的,所以循环所做的只是启动一大堆异步操作,它不会对它们进行排序或等待它们。如果你想让它们排序(运行 A,等待 A 完成,然后运行 B,等等),你不能使用这样的普通循环。请向我们展示您对真实代码的实际问题,因为适当的解决方案取决于真实代码中的具体细节。书面的这个问题无法回答。