前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flash actionscript3.0 多个setTimeout之间会顺序执行 单线程执行 无法中止

Flash actionscript3.0 多个setTimeout之间会顺序执行 单线程执行 无法中止

作者头像
用户1258909
发布2018-07-04 11:26:08
5080
发布2018-07-04 11:26:08
举报
文章被收录于专栏:拂晓风起拂晓风起

做了一个试验,测试能否在另外的setTimeout中中断其他代码的执行。结果表明,是不可能的,Actionscript会按顺序,逐个逐个的执行。

代码语言:javascript
复制
private var index:int;
private var stop:Boolean = false;

public function EffectTest()
{
       setTimeout(run, 200);
       setTimeout( function():void
       {
               trace("try to terminate running");
              stop = true;
       }, 500);
       setTimeout( function():void
       {
               trace("index is", index);
       }, 600);
}

protected function run(): void
{
        //this loop needs 1.3s to finish
        for (var i:int = 0; i < 10000000; i++)
       {
               if (stop)
              {
                     index = i;
                      trace("running has been terminated");
                      return;
              }
               var a:Number = Math.sqrt(i);
       }
       index = i;
        trace("finish running");
}

如果第二个setTimeout能中止的话,应该输出running has been terminated 但实际运行结果,这部分是没有执行的。run函数还是好好的完全被执行完。 最终输出: finish running try to terminate running index is 10000000

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-07-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档