用的是ext2.2版,执行以下代码:
Ext.TaskMgr.start({
run: function(args) {
alert(args);
},
args: ['111'],
interval: 100,
repeat: 1
});
以上代码执行后任务函数会一直执行,而本意是只执行一次。查看ext的源发现是个BUG,以下是ext中用于执行任务的源码:
var runTasks = function(){
if(removeQueue.length > 0){
for(var i = 0, len = removeQueue.length; i < len; i++){
tasks.remove(removeQueue[i]);
}
removeQueue = [];
if(tasks.length < 1){
stopThread();
return;
}
}
var now = new Date().getTime();
for(var i = 0, len = tasks.length; i < len; ++i){
var t = tasks[i];
var itime = now - t.taskRunTime;
if(t.interval <= itime){
var rt = t.run.apply(t.scope || t, t.args || [++t.taskRunCount]);
t.taskRunTime = now;
if(rt === false || t.taskRunCount === t.repeat){
removeTask(t);
return;
}
}
if(t.duration && t.duration <= (now - t.taskStartTime)){
removeTask(t);
}
}
};
var rt = t.run.apply(t.scope || t, t.args || [++t.taskRunCount]);
上面这句其中红色部份因为是'或'的关系,所以当任务配置中有 args 配置时,则任务的执行次数没有得到增加,也就导致任务停止不下来。
解决的办法是不要使用args,使用 scope 配置:
Ext.TaskMgr.start({
run: function() {
alert(this.aaa);
},
//args: ['111'],
scope: {aaa: '111'},
interval: 100,
repeat: 1
});
分享到:
相关推荐
taskmgr.exe用于Windows任务管理器。...如果任务管理器打不开就用这个吧,解压后把taskkill.exe、tasklist.exe及taskmgr.exe三个文件复制到C:\WINDOWS\system32就可以了 taskmgr6.0可以显示当前运行进程所在目录
任务管理器 taskmgr,vc6 需要更新SDK VC源码
360taskmgr.exe
好不容易找到的,如果任务管理器打不开就用这个吧,解压后把taskkill.exe、tasklist.exe及taskmgr.exe三个文件复制到C:\WINDOWS\system32就可以了
任务管理器 taskmgr 解决任务管理器灰色,不能使用的问题
taskmgr 任务管理器 可以查看进程的目录位置,这样便于查找到不认识的进程是来自哪里。
taskmgr.exe占CPU100%解决方法 taskmgr.exe是什么进程.docx
很棒的一个任务管理器,非常适合XP 2003 server 机 可以显示路径,显示运行参数,而且图标精美。不会像网上搜索那种丑陋大牛头,右下角可显示实时资源占用 使用方法直接替换原版taskmgr.exe 注意要把dllcache的里面...
博文链接:https://jiasudu.iteye.com/blog/136166
增强型任务管理器,能根据进程打开所在文件。是电脑维护的必备工具。绝对健康,本人一直长期使用。
木马检测\taskmgr.exe
taskmgr增强型任务管理器,能具体的知道进程的所在的目录,内附有说明
电脑e盘上Taskmgr.exe被删除了,需要打开方式
解压后得到文件taskmgr.exe 1:覆盖c:\Windows\system32\dllcache目录下的同名文件。(一般找不到"DLLcache"目录的,必须打开“运行”,输入"c:\Windows\system32\dllcache"回车才能打开。) 2:覆盖c:\Windows\...
北京百联美达美数码科技有限公司 版权
为了抓病毒改编的任务管理器 比常见的任务管理器增加了网络搜索等功能
taskmgr
任务管理器加强版。支持显示进程详细路径和命令。