ext版本2.1
TaskRunner用来做定时任务。
例1:
this._lastChange = function (id) { var runner = new Ext.util.TaskRunner(); runner.start({ run: function () { var dom = Ext.getDom(id); // 获取参数的一个办法 var count = this.taskRunCount; // 获取执行次数 count = argumnet[0]; // 也获取执行次数 // do something.. }, interval: 1000, //一秒执行一次 repeat: 10 //重复执行 10 次 }); };
例2:
this._lastChange = function (id) { var runner = new Ext.util.TaskRunner(); var name = 'wy', age =18; runner.start({ run: function (name,age) { var dom = Ext.getDom(id); // 获取参数的一个办法 var count = this.taskRunCount; // 永远等0 var _name = name; // 'wy' // do something.. }, args: [name,age], interval: 1000, //一秒执行一次 repeat: 10 //重复执行 10 次 }); };
所以要么传参,要么访问定时器,这就是ext2.1的想法,源码中的一句:
var rt = t.run.apply(t.scope || t, t.args || [++t.taskRunCount]);
其实用方法1也可以访问部分参数,最好还是扩展一下runTasks方法。
转载于:https://blog.51cto.com/wangyuelucky/1344617