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

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

当进程即将退出时发出。 此时无法阻止事件循环的退出,一旦所有退出监听器完成运行,进程将退出。 因此,您只能在此处理程序中执行同步操作。 这是对模块状态执行检查的一个很好的钩子(比如unit testing)。 callback只需要一个参数,即进程正在退出的代码。

基本用法如下所示:

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

尽pipe在文档中的信息,我不能想到一个真实的例子,我想在callback里面做一些unit testing。

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

我在我的应用程序中使用这个事件作为最后的机会在我的应用程序中保存状态到磁盘,并把我的应用程序在我的应用程序closures之前以已知和安全的状态进行控制的一些硬件。 它作为一个支持,所以不pipe是什么原因导致我的应用程序死亡,我仍然有机会清理一些事情。

所以,当这个事件被触发时,我检查是否有未保存的状态,如果是的话,我使用同步I / O把它写到磁盘上(在这个事件中你不能成功地使用asynchronous操作)。 然后,我closures了一些我的应用正在控制的硬件。

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