本文实例讲述了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程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]