Ext.util.TaskRunner传参


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方法。



你可能感兴趣的:(ext,task,Runner)