Node.js 命令行脚本有时不会终止

Eri*_*ner 8 node.js babeljs babel-node

我有一个带有异步 main 方法的节点 js 脚本。有时脚本会正常终止,有时则会挂起。

const main = async () => {
    let updates = []
    // ... add a bunch of promises to updates
    await Promise.all(updates)
} 

main()
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么这个脚本有时可能会挂起?尽管它似乎已经运行完成,但它只是没有终止。

Tod*_*fee 9

因为你的函数是async,所以你需要在它完成时显式终止它:

main().then(() => process.exit())
Run Code Online (Sandbox Code Playgroud)