定时执行代码|延迟执行代码

Ext Core提供了TaskRunner、TaskMgr和DelayedTask三个类来执行定时任务,其中TaskMgr是TaskRunner的一个静态实例。

TaskRunner类的作用是在设置的时间间隔内定时执行指定任务,其使用方法请看下面代码。

var stop = false;

//任务定义

var task = {

  run:function(){

    if(!stop){

       //执行处理

       console.log(new Date());

    }else{

      runner.stop(task);  //停止执行

    }

  },

  interval:30000 //单位为毫秒,目前定义时间间隔为30秒

};

var runner = new Ext.util.TaskRunner();

runner.start(task);


//也可以使用TaskMgr类

Ext.TaskMgr.start({

  run :function(){

  },

  interval:1000

}

DelayedTask类提供一种缓冲机制。正常情况下,指定的任务会一直等待到指定的时间后才会执行。如果在这期间,延时机制再次触发,则之前的任务将取消,继续等待到指定的时间后才会执行新任务。该功能主要应用在检测用户输入状态。其使用方法请看下面代码。

var task = new Ext.util.DelayedTak(function(){

  console.log(Ext.getDom('myInputField').value.length);

});

Ext.get('myInputField').on('keypress',function(){

  task.delay(500);

});


你可能感兴趣的:(ext)