非零代码退出异步脚本规范的方法
问题描述:
假设你有一个脚本,看起来像非零代码退出异步脚本规范的方法
async function main() {
await somethingThatCanFail()
}
main()
目前与非零代码退出我做
main()
.then(() => console.log('success message and stuff')
.catch(function(err) {
console.error(err)
process.exit(1)
})
因为承诺内的throw new Error(err)
是徒劳的。然而,这感觉有点不好意思,我想知道是否有更标准的方法来做到这一点。
答
process.exit()
如果你想结束它,你应该如何结束你的过程。根本没有什么“哈克”。
您正确地发现了一个错误,决定您想要因该错误而终止该过程并以文档化的方式结束该过程。我会认为一个未被捕获的异常更加黑客。
在退出之前,您可以输出任何您想要用于诊断目的的控制台,如果这是您认为您可能从未处理的异常中缺少的内容。
'process.exit()'就是你应该如何结束你的过程,如果你想结束它。根本没有什么“哈克”。你犯了一个错误,决定你想中止这个过程并结束这个过程。我会认为一个未被捕获的异常更加黑客。 – jfriend00
我认为这正是你应该做的,直到有一个标志使未处理的拒绝中止这个过程。不过,您可以[模拟](https://stackoverflow.com/a/45771671/1048572)。 – Bergi
好的谢谢@ jfriend00和Bergi – m0meni