事件循环与process模块

一、node.js事件循环

1、node.js没有要处理的事件了,整个进程就结束了;事件里面可以继续插入事件,如果有事件是一直要继续下去的,那么node 就不会退出,每一次事件处理结束后等待下一个事件的发生。
2、setTimeout 插入一个 计时器事件,时间单位为毫秒;

// 计时器事件, 每隔一段事件触发一次, time的单位是毫秒
setInterval(function  () {
    console.log("get time doing");
}, 5 * 1000); // 每间隔5秒调用一次

3、setInterval 插入一个不断循环的计时器事件;

setTimeout(function() {
    console.log("set time out");
}, 3 * 1000);

二、progress属性和事件

1、process模块用来与当前进程互动,获取操作系统相关信息;
2、process是全局变量,不需要require;
3、process.pid
process.version
process.platform
process.title
process.argv:在启动时可以往程序里传入参数,参数都是字符串
process.execPath:node所在的路径
process.stdout
process.stdin
process.stderr
process.env:获得系统的环境变量
4、exit事件, process.on()
node每次退出时,都会抛出一个exit事件,如果用户监听这个事件,那么当有exit事件发生的时候,设置的回掉函数将会被调用;

process.on("exit", function() {
    console.log("now node exit!!!!");
});

5、uncaughtException事件 function(err) {};
当发生未知异常时,调用回掉函数;node 停止处理当前事件,继续等待下一个事件的处理,不会整个退出,服务器就不会随意的奔溃
,可以把这个错误,保存起来,方便查找。

process.on("uncaughtException", function(err) {
    console.log("uncaughtException called ", err);
});

6、处理的时候遇到了异常,如果这个异常监听,那么就继续处理下一个事件,否则直接停止退出node ;
当程序运行时候有异常,可以通过捕获异常,如果说没有捕获的异常,这个uncaughtException如果发生uncaughtException,node是会退出的;没有主动捕获,所以javascript解释器,是不会继续执行的;

三、process重要方法

1、progress.cwd; // 获取当前的工作目录
2、progress.uptime // 获取当前进程运行的时间
3、progress.chdir // 设置当前的工作目录;
4、progress.nextTick // 下一次循环的时候调用;

// current work director 当前的工作目录 ./ 
//修改工作目录,工作目录默认为node的启动目录
console.log(process.cwd());
// while处理时间,进入等待时间之前调用,完成后,去事件里面等待新的事件发生;
process.nextTick(function() {
    console.log("nextTick");
});
notfunction_test();
console.log("after notfunction_test");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值