首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用Ext.TaskManager.stop()方法时无法停止正在运行的任务

调用Ext.TaskManager.stop()方法时无法停止正在运行的任务
EN

Stack Overflow用户
提问于 2012-04-19 10:23:14
回答 1查看 5.9K关注 0票数 1

我设置了一个消息框来显示当前时间。计时器间隔设置为1000,有2个按钮可启动和停止“计时器”。当单击“停止”按钮时,它会调用Ext.TaskManager.stop方法并将消息框中的文本更新为“已暂停”。然而,当单击“停止”按钮时,文本变为“已暂停”一秒钟,它又变回显示当前时间。当我尝试使用Ext.TaskManager.stopAll();而不是Ext.TaskManager.stop(task)时,它起作用了!为什么?我的代码如下:

代码语言:javascript
复制
<script type="text/javascript">
Ext.onReady (function(){
            var config={
            msg:'Display Time',
            modal:true,
            buttons:Ext.Msg.OKCANCEL,
            fn:displayTime
            }

        Ext.MessageBox.msgButtons[0].setText('Start');
        Ext.MessageBox.msgButtons[3].setText('Stop');                
        Ext.MessageBox.show(config); 
        function displayTime(id){
            if(id=='ok'){
                var task = {
                    run:function(){Ext.MessageBox.updateText ('????:' + Ext.util.Format.date(new Date(), 'Y-m-d g:1:s A'));},        
                    interval:1000                            
                    }                   
                Ext.TaskManager.start(task);
            }             
            else {
                Ext.MessageBox.updateText('Paused!');
                Ext.TaskManager.stop(task);
            }    
    };       
    });

EN

Stack Overflow用户

回答已采纳

发布于 2012-04-19 10:32:40

该任务是在if中定义的,因此当命中else时,它实际上是在运行Ext.TaskManager.stop(),它不会停止您的任务。将任务移到函数声明之外。

代码语言:javascript
复制
        var task = {
            run: function () {
                Ext.MessageBox.updateText('????:' + Ext.util.Format.date(new Date(), 'Y-m-d g:1:s A'));
            },
            interval: 1000
        }


        function displayTime(id) {
            if (id == 'ok') {
                Ext.TaskManager.start(task);
            } else {
                Ext.MessageBox.updateText('Paused!');
                Ext.TaskManager.stop(task);
            }
        };
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10220818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档