关于AS3代码异步执行问题的个人常用解决办法

原创 2012年02月07日 15:37:29

    因AS3中代码是异步执行的,有时候经常会遇到一个函数还没执行完就开始执行下一个函数的问题,比如一个函数执行读取XML数据的操作,暂命名为:XmlInfoReader, 一个函数用来处理XML数据,暂命名为:XmlInfoProcess,在XmlInfoReader这个函数还没完成XML数据读取的时候,函数XmlInfoProcess就开始处理数据,这时就会报错了。

 

   解决方法:

   通过引入计时器来解决。

 var timer:Timer = new Timer(100,1);

 

//调用函数XmlInfoReader

 

timer.addEventListener(TimerEvent.TIMER,timeHandler);
timer.start();

private function timeHandler(e:TimerEvent):void
  {
   //如果XmlInfoReader执行完毕,则调用XmlInfoProcess函数,否则继续等待
   if(XmlInfoProcess执行完毕)
   {

    //调用函数XmlInfoProcess

    timer.removeEventListener(TimerEvent.TIMER,timeHandler);
   }
   else
   {
    timer.repeatCount = timer.currentCount+1;

   if(timer.repeatCount大于某个值)

{

       timer.removeEventListener(TimerEvent.TIMER,timeHandler);
   

//抛出异常

}
   }
  }

 

 

异步和同步的概念

编程方面的解释   异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。以CAsycSocket类为例(注意,C...
  • a7719665
  • a7719665
  • 2012年05月22日 15:19
  • 2423

关于AS3代码异步执行问题的个人常用解决办法

因AS3中代码是异步执行的,有时候经常会遇到一个函数还没执行完就开始执行下一个函数的问题,比如一个函数执行读取XML数据的操作,暂命名为:XmlInfoReader, 一个函数用来处理XML数据,暂命...
  • kisstherain
  • kisstherain
  • 2012年02月07日 15:37
  • 1049

flash air中读取本地文件的三种方法

actionscript中读取本地文件操作有两种代码如下 1.使用File和FileStream两个类,FileStream负责读取数据的所以操作:(同步操作) ? ...
  • yaonai2003
  • yaonai2003
  • 2013年09月20日 14:46
  • 9486

常用的三种异步写法

/*BackgroundWorker*/ 1:         using (var appinstruction = new BackgroundWorker())             { ...
  • wohhm
  • wohhm
  • 2016年12月08日 18:34
  • 223

[新闻资讯] AS的异步执行

介绍 在Flash Player中AS的执行跟屏幕重绘都是在单线程处理的。为了便于屏幕重绘,必须要让所有执行代码都执行完毕。对一个帧率24fps的SWF来说,这意味着所有AS操作都在一个帧里运行...
  • yaonai2003
  • yaonai2003
  • 2013年04月08日 11:40
  • 1173

AIR文件操作:使用文件对象操作文件和目录 .

在AIR中可以方便的对本地文件操作,不过上次做了个项目,发现还是有不少不方便的地方,比如AIR对文件和目录的打包和解压 (最终我使用了调用BAT执行解压和打包操作,使用方法在我的其它文章中有提到)一下...
  • zdingxin
  • zdingxin
  • 2011年07月26日 17:01
  • 8340

iOS 实现文件上传下载

iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载。 首先,让我们看下文件下载。 这里我们下载cnblogs上的一个zip文件。使...
  • kiki1985
  • kiki1985
  • 2013年04月16日 15:19
  • 2874

c#异步执行一段代码

Thread th = new Thread( delegate() ...
  • zghnpdswyp
  • zghnpdswyp
  • 2016年11月10日 14:05
  • 614

代码大全的“变量命名的力量”总结

虽然变量的命名是一个非常非常老的非常非常基础的话题,但是基础的东西再...
  • lihuapinghust
  • lihuapinghust
  • 2014年07月16日 17:27
  • 723

C/C++快速读写磁盘数据的方法-块读取/异步/优化分析算法/内存文件映射的原理和使用

快速读写磁盘数据的方法: 1.一下子将数据读取到内存的(无论是文本还是二进制),而不是一行行的读取。 2.异步的IO,创建多线程,或者使用重叠IO,IO复用,异步的事件回调通知机制(可以用事件对象,...
  • Blues1021
  • Blues1021
  • 2015年03月08日 18:18
  • 9447
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于AS3代码异步执行问题的个人常用解决办法
举报原因:
原因补充:

(最多只允许输入30个字)