Node.js中的setImmediate()与process.nextTick
来源:互联网 发布:单片机wifi模块传输 编辑:程序博客网 时间:2024/06/04 23:27
Node.js中的setImmediate()与process.nextTick
简单说,process.nextTick是在当前代码执行完毕后立即执行,setImmediate是加入到轮询,空闲后立即执行.
测试结论:
process.nextTick >> setTimeout(handler,0) , setImmediate >> setTimeout(handler, n)
注: setTimeout(handler,0) 与 setImmediate的顺序未深入比较.
上代码:
var a = 1;console.log(a);setImmediate(function() { console.log('-----------setImmediate----------'); console.log(a);});a=2;setTimeout(function() { console.log('-----------settimeout 0----------'); console.log(a);},0);a=3;setTimeout(function() { console.log('-----------settimeout 2000----------'); console.log(a);},2000);a=4;setTimeout(function() { process.nextTick(function() { a=6; console.log('-----------process.nextTick----------'); console.log(a); }); console.log('-----------settimeout 1000----------'); console.log(a);},1000);a=5;process.nextTick(function() { console.log('-----------process.nextTick----------'); console.log(a);});
执行结果:
1-----------process.nextTick----------5-----------settimeout 0----------5-----------setImmediate----------5-----------settimeout 1000----------5-----------process.nextTick----------6-----------settimeout 2000----------6
0 0
- Node.js中的setImmediate()与process.nextTick
- node.js中的setImmediate()与process.nextTick()
- node.js中的process.nextTick()和setImmediate()
- 《深入浅出node.js》——setImmediate()与process.nextTick()
- node.js中的定时器nextTick()和setImmediate()区别分析
- node.js中的定时器nextTick()和setImmediate()区别分析
- setImmediate and process.nextTick
- Process.nextTick 和 setImmediate
- node异步API setTimeout,setInterval,process.nextTick,setImmediate详解
- node.js process nextTick作用
- Node.js中nextTick、setTimeout、setImmediate的区别
- 理解 Node.js process.nextTick() {Understanding process.nextTick()}
- 理解 Node.js 里的 process.nextTick()
- 理解 Node.js 里的 process.nextTick()
- Node.js 里的 process.nextTick()
- 理解 Node.js 里的 process.nextTick()
- setTimeout,setInterval,process.nextTick,setImmediate in Nodejs
- 细说setTimeout/setImmediate/process.nextTick的区别
- 软件设计原则--单一职责原则
- javaweb学习总结——Filter高级开发
- 23种设计模式(9)--Composite模式
- HDU 4006 The kth great number (优先队列)
- Github的repositories的文件大小限制
- Node.js中的setImmediate()与process.nextTick
- 系统提示缺少libltdl.so.3
- android 微博sdk 集成 文件不存在(8998) 您所访问的站点在新浪微博的认证失败,错误码 21322
- class_copyPropertyList和class_copyIvarList的区别
- 数据映射--B树
- ssm(spring+springMVC+mybatis)框架整合mongodb3.2.6提示Cannot resolve the name 'repository:auditing-attribut
- EmEditor 搜索历史/查找历史的删除/清空 包括在文件中查找的历史删除 文本类型的删除
- 删除空白瓦片
- win10下 mysql服务无法启动