美文网首页
07 全局-time

07 全局-time

作者: Frewen | 来源:发表于2018-10-04 11:27 被阅读0次

    全局:定时器

    实现延迟执行任务
    • 定义一个定时炸弹对象
    • 定时炸弹对象和 setTimeout 函数绑定
    • 定时炸弹爆炸
    • 在定时炸弹爆炸之前,拆除定时炸弹
     #!/usr/bin/node
    
    /*console.log('first');
    
    global.setTimeout(function(){
      console.log('second');
    },2000);
    
    //说明JavaScript的异步执行
    
    console.log('third');*/
    
    function Bomb(){
      this.message = 'Bomb';
    }
    
    Bomb.prototype.explode = function(){
      console.log(this.message);
    }
    
    var b = new Bomb();
    
    // 此时直接执行时,this指向的是timeout对象
    var time = global.setTimeout(b.explode.bind(b),2000);
    
    //global.clearTimeout(time);
    
    实现定时执行任务
    • 定时执行任务
    • 用两种方式取消定时器,分别是:
      • 设置定时器运行时间总时长,时间到后取消定时器;
      • 设置计数器,重复执行任务次数达到上限,取消定时器;
    #!/usr/bin/node
    
    console.log("start");
    
    const time = global.setInterval(loop,500);
    
    function loop(){
      // count ++;
      console.log('I will loop forever');
      if(count === 6){
            clearInterval(time);
        }
    }
    // method1
    global.setTimeout(function(){
      global.clearInterval(time);
      console.log('end');
    },3000);
    // method2
    var count = 0;
    

    相关文章

      网友评论

          本文标题:07 全局-time

          本文链接:https://www.haomeiwen.com/subject/ollxaftx.html