Ext Core提供了TaskRunner、TaskMgr和DelayedTask三个类来执行定时任务,其中TaskMgr是TaskRunner的一个静态实例。
TaskRunner类的作用是在设置的时间间隔内定时执行指定任务,其使用方法请看下面代码。
DelayedTask类提供一种缓冲机制。正常情况下,指定的任务会一直等待到指定的时间后才会执行。如果在这期间,延时机制再次触发,则之前的任务将取消,继续等待到指定的时间后才会执行新任务。该功能主要应用在检测用户输入状态。其使用方法请看下面代码。
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);
});