节点js中的进程退出事件的目的是什么?

我正在查看node.js的文档:process event exit。

当进程即将退出时发出。 在这一点上没有办法阻止事件循环的退出,并且一旦所有退出监听器完成运行,该进程将退出。 因此,您只能在此处理程序中执行同步操作。 这是对模块状态执行检查的好钩子(比如单元测试)。 该回调函数采用一个参数,该进程正在退出的代码。

基本用法如下所示:

process.on('exit', function(code) {
    console.log('About to exit with code:', code);
});

尽管文档中有信息,但我无法想到一个真实的例子,我想在回调中进行一些单元测试。

我想让我的应用尽可能健壮。 你用什么exit事件?


我在我的应用程序中使用此事件作为最后一次在我的应用程序中将状态保存到磁盘的机会,并将我的应用程序在应用程序关闭前以已知且安全的状态进行控制的一些硬件。 它可以作为支持,这样不管是什么原因导致我的应用程序死亡,我仍然有机会清理一些事情。

所以,当这个事件被触发时,我检查是否存在任何未保存的状态,如果是,我使用同步I / O将它写入磁盘(在这种情况下,您无法成功使用异步操作)。 然后,我关闭了一些我的应用正在控制的硬件。


我不认为这意味着你应该从这个回调中运行一个单元测试,但是一个正在运行的单元测试可能会使用这个回调来检查退出是否按预期触发,或者告诉退出单元失败。

链接地址: http://www.djcxy.com/p/52695.html

上一篇: What's the purpose of the process exit event in node js?

下一篇: How to forcibly keep a Node.js process from terminating?