非零代码退出异步脚本规范的方法

问题描述:

假设你有一个脚本,看起来像非零代码退出异步脚本规范的方法

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)是徒劳的。然而,这感觉有点不好意思,我想知道是否有更标准的方法来做到这一点。

+1

'process.exit()'就是你应该如何结束你的过程,如果你想结束它。根本没有什么“哈克”。你犯了一个错误,决定你想中止这个过程并结束这个过程。我会认为一个未被捕获的异常更加黑客。 – jfriend00

+1

我认为这正是你应该做的,直到有一个标志使未处理的拒绝中止这个过程。不过,您可以[模拟](https://*.com/a/45771671/1048572)。 – Bergi

+0

好的谢谢@ jfriend00和Bergi – m0meni

process.exit()如果你想结束它,你应该如何结束你的过程。根本没有什么“哈克”。

您正确地发现了一个错误,决定您想要因该错误而终止该过程并以文档化的方式结束该过程。我会认为一个未被捕获的异常更加黑客。

在退出之前,您可以输出任何您想要用于诊断目的的控制台,如果这是您认为您可能从未处理的异常中缺少的内容。