Node.js 全局对象

2020-06-17 05:30:24易采站长站整理

序号事件 & 描述
1exit
当进程准备退出时触发。
2beforeExit
当 node 清空事件循环,并且没有其他安排时触发这个事件。通常来说,当没有进程安排时 node 退出,但是 ‘beforeExit’ 的监听器可以异步调用,这样 node 就会继续执行。
3uncaughtException
当一个异常冒泡回到事件循环,触发这个事件。如果给异常添加了监视器,默认的操作(打印堆栈跟踪信息并退出)就不会发生。
4Signal 事件
当进程接收到信号时就触发。信号列表详见标准的 POSIX 信号名,如 SIGINT、SIGUSR1 等。

实例

创建文件 main.js ,代码如下所示:


process.on('exit', function(code) {

// 以下代码永远不会执行
setTimeout(function() {
console.log("该代码不会执行");
}, 0);

console.log('退出码为:', code);
});
console.log("程序执行结束");

执行 main.js 文件,代码如下所示:


$ node main.js
程序执行结束
退出码为: 0

退出状态码

退出状态码如下所示:

状态码名称 & 描述
1Uncaught Fatal Exception
有未捕获异常,并且没有被域或 uncaughtException 处理函数处理。
2Unused
保留
3Internal JavaScript Parse Error
JavaScript的源码启动 Node 进程时引起解析错误。非常罕见,仅会在开发 Node 时才会有。
4Internal JavaScript Evaluation Failure
JavaScript 的源码启动 Node 进程,评估时返回函数失败。非常罕见,仅会在开发 Node 时才会有。
5Fatal Error
V8 里致命的不可恢复的错误。通常会打印到 stderr ,内容为: FATAL ERROR
6Non-function Internal Exception Handler
未捕获异常,内部异常处理函数不知为何设置为on-function,并且不能被调用。
7Internal Exception Handler Run-Time Failure
未捕获的异常, 并且异常处理函数处理时自己抛出了异常。例如,如果 process.on(‘uncaughtException’) 或 domain.on(‘error’) 抛出了异常。
8Unused
保留
9Invalid Argument
可能是给了未知的参数,或者给的参数没有值。
10Internal JavaScript Run-Time Failure
JavaScript的源码启动 Node 进程时抛出错误,非常罕见,仅会在开发 Node 时才会有。