Node.js – 处理 beforeExit 事件

' beforeExit ' 事件在Node.js清空其事件循环并且没有其他工作要安排时被调用。Node.js当没有安排工作时,进程会正常退出,但在“退出前”事件上注册的侦听器可以进行异步调用,从而导致Node.js进程继续。

示例 1

创建一个名为“ beforeExit.js ”的文件并复制以下代码。创建文件后,使用命令“ node beforeExit.js ”运行此代码,如下例所示 -

// 流程 'beforeExit' 演示示例

// 导入流程模块
const process = require('process');

// 调用“beforeExit”事件
process.on('beforeExit', (code) => {
   console.log('Process beforeExit event with code: ', code);
});

// 调用“退出”事件
process.on('exit', (code) => {
   console.log('Process exit event with code: ', code);
});

// 打印第一条消息
console.log('Hi... First Message !');
输出结果
Hi... First Message !
Process beforeExit event with code: 0
Process exit event with code: 0

示例 2

让我们再看一个例子。

// 流程 'beforeExit' 演示示例

// 导入流程模块
const process = require('process');

// 编辑退出代码
process.exitCode = 100;

// 调用“beforeExit”事件
process.on('beforeExit', (code) => {
   console.log('Process beforeExit event with code: ', code);
});

// 打印第一条消息
console.log('Hi... First Message');
输出结果
Hi... First Message
Process beforeExit event with code: 100