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事件循环和process的更多相关文章

  1. 一张图带你搞懂Node事件循环

    说一件重要的事儿:你还没关注公众号[前端印记],更多精彩内容等你探索-- 以下全文7000字,请在你思路清晰.精力充沛的时刻观看.保证你理解后很长时间忘不掉. Node事件循环 Node底层使用的语言 ...

  2. node事件循环

    Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.j ...

  3. node 事件循环

    什么是事件循环 Node只运行在一个单一线程上,至少从Node.js开发者的角度是这样的.在底层, Node是通过libuv来实现多线程的. Libuv库负责Node API的执行.它将不同的任务分配 ...

  4. node事件循环和消息队列简单分析

    node的好处毋庸置疑,事件驱动,异步非阻塞I/O,以及处理高并发的能力深入人心,因此大家喜欢用node做一些小型后台服务或者作为中间层和其他服务配合完成一些大型应用场景. 什么是异步? 异步和同步应 ...

  5. Node.js 的事件循环机制

    目录 微任务 事件循环机制 setImmediate.setTimeout/setInterval 和 process.nextTick 执行时机对比 实例分析 参考 1.微任务 在谈论Node的事件 ...

  6. 03 js事件循环

    1. js里重要的是事件循环. 参考:https://nodejs.org/en/docs/guides/ 中文版:https://github.com/nodejs/nodejs.org/tree/ ...

  7. JS浏览器事件循环机制

    文章来自我的 github 博客,包括技术输出和学习笔记,欢迎star. 先来明白些概念性内容. 进程.线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的. ...

  8. 一文梳理JavaScript 事件循环(Event Loop)

    事件循环(Event Loop),是每个JS开发者都会接触到的概念,但是刚接触时可能会存在各种疑惑. 众所周知,JS是单线程的,即同一时间只能运行一个任务.一般情况下这不会引发问题,但是如果我们有一个 ...

  9. The Node.js Event Loop, Timers, and process.nextTick() Node.js事件循环,定时器和process.nextTick()

    个人翻译 原文:https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/ The Node.js Event Loop, Ti ...

随机推荐

  1. Excel使用

    筛选 1.数据->取消\使用筛选; 边框 函数 1.使用函数的话需要设置单元格格式为常规;

  2. LED客显的类

    using System; using System.IO.Ports; namespace Common { public class LedHelper { ; private static st ...

  3. c语言指针应用

    指针变量指向数组元素: #import <stdio.h> int main() { int a[10]={1,2,3,4,5,6,7,8,9,0}; int *p; p=a; for ( ...

  4. 让网站不去请求favicon.ico图标

    让网站不去请求favicon.ico图标 favicon.ico 图标用于收藏夹图标和浏览器标签上的显示,如果不设置,浏览器会请求网站根目录的这个图标,如果网站根目录也没有这图标会产生 404.出于优 ...

  5. wamp设置本地访问路径为a.com

    我们在用wamp进行本地建站时经常会碰到页面样式无法正常加载,这是因为没有正确加载css路径,那我们就用wamp设置本地访问路径为a.com指向本地的一个虚拟空间,如何操作呢?下面就跟随ytkah一起 ...

  6. 转场动画UINavigationControllerDelegate

    从iOS7开始,苹果更新了自定义ViewController转场的API,这些新增的类和接口让很多人困惑,望而却步.本文就从这些API入口,让读者理清这些API错综复杂的关系. 几个protocol ...

  7. python如何使用request爬取图片

    下面是代码的简单实现,变量名和方法都是跑起来就行,没有整理,有需要的可以自己整理下: image2local: import requests import time from lxml import ...

  8. Jmeter测试实践:文件上传接口

    1.打开jmeter4.0,新建测试计划,添加线程组.根据实际情况配置线程属性. 2.添加HTTP请求. Basic部分修改如下: Advanced部分我做任何修改,完全保持默认.但是有人说Imple ...

  9. w97常用功能代码

    1,onclick中添加日期控件 2,onpicked事件即是点击控件后触发的事件 3,dp.cal.getNewDateStr()即是点击到的日期字符串 <script> functio ...

  10. case关联表查询

    select a.员工编号,b.`姓名`,b.`地址`,case when a.收入 is null then '没钱' when a.收入 < 2000 then '低收入'when a.收入 ...