node事件循环和process模块实例分析

 更新时间:2020年02月14日 12:09:56   作者:jadeshu  
这篇文章主要介绍了node事件循环和process模块,结合实例形式分析了node事件循环和process模块具体功能、使用方法及相关操作注意事项,需要的朋友可以参考下

本文实例讲述了node事件循环和process模块。分享给大家供大家参考,具体如下:

1.node.js事件循环

node.js事件可以继续插入事件,如果有事件就继续执行下去,每一次事件处理结束后等待下一个事件的发生;没有要处理的事件了,那整个就结束了;

setTimeout插入一个 计时器事件,时间单位为毫秒;

// 插入一个事件,让它多长(毫秒)时间以后执行一次
setTimeout(function() {
  console.log("set time out");
}, 3 * 1000); //3秒后执行显示 set time out
  setInterval插入一个不断循环的计时器事件;
// 计时器事件, 每隔一段事件触发一次, time的单位是毫秒
setInterval(function () {
  console.log("get time doing");
}, 2 * 1000); // 每间隔2秒调用一次
//结果为:
//get time doing
//get time doing
//get time doing
//....

2.process模块属性和事件

process模块用来与当前进程互动,获取相关操作系统相关信息;process是全局变量不需要require导入模块;

属性:process.pid, process.version, process.platform, process.title,process.argv, process.execPath, process.stdout, process.stdin, process.stderr, process.env

// process是node的一个全局模块
console.log(process.pid); //11544
console.log(process.version); //V8.9.0
console.log(process.platform); //WIN32
console.log(process.title); //D:\Program Files\nodejs\node.exe
// 在启动的时候,我们可以往程序里面传入参数,
//参数都是字符串
console.log(process.argv); //结构为数组
//Array(2) ["D:\Program Files\nodejs\node.exe", "c:\Users\Administrator\Desktop\main1.js"]
 

exit事件, process.on()

// 当我们的node在每次退出的时候,都会抛出一个exit这样一个事件,如果我们用户监听这个事件,那么
// 当有exit事件发生的时候,我们之前设置的回掉函数,将会被调用;
// process.on来监听事件
process.on("exit", function() {
  console.log("now node exit!!!!");
});
  uncaughtException事件 function(err){};
// 当我们发生了一个未知的异常的时候,我们调用这个回掉函数;
// node 停止处理当前这个事件,继续等待下一个事件的处理,不会整个退出,
// 服务器就不会随意的奔溃
// 可以把这个错误,保存起来,方便我们去查找
process.on("uncaughtException", function(err) {
  console.log("uncaughtException called ", err);
});
// 当我们的程序,如果运行的时候有异常,那么这个时候,我们可以通过捕获异常,
// 如果说我们没有捕获的异常,这个uncaughtException
// 如果发生uncaughtException,node是会退出的;
// 没有主动捕获,所以javascript解释器,他是不会继续执行的;

处理的时候遇到了异常,如果这个异常监听,那么就继续处理下一个事件,否则直接停止退出node ;

3.process重要方法

    progress.cwd; // 获取当前的工作目录

    progress.uptime // 获取当前进程运行的时间

    progress.chdir // 设置当前的工作目录;

    progress.nextTick // 下一次循环的时候调用;

// current work director 当前的工作目录
// ./ ---> C:\Home\workspace\node_js
process.chdir("C:\\Home\\workspace");
// 修改我们的工作目录,工作目录默认你的node是在哪个目录下启动的,就是那个目录为你的工作目录
console.log(process.cwd()); //c:\Users\Administrator\Desktop
// while处理时间,进入等待时间之前调用,完成后,去事件里面来等待新的事件发生;
process.nextTick(function() {
  console.log("nextTick");
});

希望本文所述对大家node.js程序设计有所帮助。

相关文章

  • Nestjs自定义注解实现接口权限控制详解

    Nestjs自定义注解实现接口权限控制详解

    这篇文章主要为大家介绍了Nestjs自定义注解实现接口权限控制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Nodejs+express+ejs简单使用实例代码

    Nodejs+express+ejs简单使用实例代码

    本篇文章主要介绍了Nodejs+express+ejs简单使用实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 详解nodejs http请求相关总结

    详解nodejs http请求相关总结

    这篇文章主要介绍了nodejs http请求相关总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 使用node.JS中的url模块解析URL信息

    使用node.JS中的url模块解析URL信息

    本文将详细介绍nodeJS中的URL模块的使用方法,利用URL模块解析出URL相关信息
    2020-02-02
  • 使用nodeAPI时遇到过异步问题解决

    使用nodeAPI时遇到过异步问题解决

    这篇文章主要为大家介绍了使用nodeAPI时遇到过异步问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • node.js 全局变量的具体使用

    node.js 全局变量的具体使用

    这篇文章主要介绍了node.js 全局变量的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • npm使用淘宝镜像安装时报错的解决方案(npm淘宝镜像到期尽快切换)

    npm使用淘宝镜像安装时报错的解决方案(npm淘宝镜像到期尽快切换)

    npm 淘宝镜像到期了,尽快切换,本文给大家介绍了npm使用淘宝镜像安装时报错的解决方案,文中通过代码示例和图文讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-02-02
  • 在nodeJs中如何修改json文件中的数据

    在nodeJs中如何修改json文件中的数据

    这篇文章主要介绍了在nodeJs中如何修改json文件中的数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • mac下安装node.js的详细步骤

    mac下安装node.js的详细步骤

    Node.js本质上是一个JavaScript运行时环境,它提供了在服务器端运行JavaScript代码的能力,这篇文章主要给大家介绍了关于mac下安装node.js的详细步骤,需要的朋友可以参考下
    2023-10-10
  • nodejs报digital envelope routines::unsupported错误的最新解决方法

    nodejs报digital envelope routines::unsupported错误的最新解决方法

    这篇文章主要介绍了nodejs报digital envelope routines::unsupported错误的最新解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02

最新评论