【发布时间】:2018-10-17 18:14:07
【问题描述】:
我有一个带有异步主方法的节点 js 脚本。有时脚本会正常终止,有时会挂起。
const main = async () => {
let updates = []
// ... add a bunch of promises to updates
await Promise.all(updates)
}
main()
有谁知道为什么这个脚本有时会挂起?尽管它似乎已经运行完成,但它并没有终止。
【问题讨论】:
-
根据您在此处提供的内容无法确定,但通常如果您未能解决或拒绝所有承诺和/或未适当致电
process.exit(),则会发生这种情况。 -
是的,这种情况经常发生在我身上——即使没有明确返回任何内容,您的异步函数也会固有地返回一个承诺。所以如果你添加
main().then(() => process.exit())它应该总是终止。
标签: node.js babeljs babel-node