当 Node.js 清空其事件循环并且没有其他工作要调度时,则 'beforeExit' 事件会被触发。
通常,当没有工作被调度时,则 Node.js 进程会退出,但是在 'beforeExit' 事件上注册的监听器可以进行异步的调用,从而使 Node.js 进程继续。
监听器回调函数被调用时会传入 [process.exitCode] 的值作为唯一的参数。
对于导致显式终止的情况(例如调用 [process.exit()] 或未捕获的异常),则不会触发 'beforeExit' 事件。
除非打算调度额外的工作,否则不应该使用 'beforeExit' 代替 'exit' 事件。
process.on('beforeExit', (code) => {console.log('进程 beforeExit 事件的退出码: ', code);});process.on('exit', (code) => {console.log('进程 exit 事件的退出码: ', code);});console.log('此消息会最先显示');// 打印:// 此消息会最先显示// 进程 beforeExit 事件的退出码: 0// 进程 exit 事件的退出码: 0
