zoukankan      html  css  js  c++  java
  • Node.js-提供了四种形式的定时器

     1 Node.js提供了四种形式的定时器
     2 global.setTimeout();      //一次性定时器
     3 global.setInterval();       //周期性定时器
     4 global.nextTick();          //本次事件循环结束时立即执行的定时器
     5 global.setImmediate();  //下次事件循环立即执行的定时器
     6 
     7 var i=1;
     8 setTimeout(()=>{
     9     console.log(i);
    10 },1000);
    11 
    12 //1秒之后,打印出0,1,2,3,4
    13 for(var i=1;i<=3;i++){
    14     setTimeout(()=>{
    15         console.log(i)
    16     },1000)
    17 }
    18 
    19 //闭包
    20 
    21 for(var i=1; i<=3; i++){
    22     setTimeout(outer(i),1000)  //定期定时器
    23 }
    24 function outer(num){
    25     return function(){
    26         console.log(num)
    27     };
    28 }
    29 
    30 //使用箭头函数完成上面的闭包功能
    31 
    32 for(var i=1;i<=3;i++){
    33     setTimeout(((num)=>{
    34         return ()=>{console.log(num);}})(i),1000)
    35 }
    36 
    37 setInterval 周期性定时器
    38 var count=0;
    39 var timer=setInterval(function(){
    40     count++;
    41     console.log('%d hello',count);
    42     if(count>5){
    43         clearInterval(timer);
    44     }
    45   },1000);
    46 
    47 //setTimeout  一次性定时器
    48 var count2=0;
    49 var timer2=setTimeout(function(){
    50     count2++;
    51     if(count2<=5){
    52         console.log('%d hello',count2);
    53         setTimeout(arguments.callee,1000);  //arguments
    54     }else{
    55         clearTimeout(timer2);
    56     }
    57 },1000)
     1 //setImmediate(); 下次事件循环立即执行的定时器
     2 setImmediate(function(){
     3     console.log('Immediate 1.....');
     4 });
     5 process.nextTick(function(){
     6     console.log('nextTick 1......');
     7 });
     8 setTimeout(function(){console.log('setTimeout 2....')},1000)
     9 process.nextTick(function(){
    10     console.log('nextTick 2......');
    11 });
    12 setImmediate(function(){
    13     console.log('nextTick 3......');
    14 });
    15 console.log('end....');
  • 相关阅读:
    vector读入指定行数但不指定列数的数字
    p4语言编程环境安装
    近期学习资料一览表
    c++之洛谷P1068分数线划定
    打开文件的方法
    调用当前年月日
    想学习启发式优化算法,不知从何学起?
    使用这几款插件,能让你在GitHub看代码的效率翻倍
    微信公众号放Latex数学公式的完美解决方案
    手把手教你用Git备份保存论文和代码等重要数据到云端
  • 原文地址:https://www.cnblogs.com/longly/p/6201382.html
Copyright © 2011-2022 走看看