Flex 中可以异步调用函数吗?我想定期解析文件而不阻塞应用程序的其余部分,建议的方法是什么?
Actionscript 不支持多线程,我认为这才是您真正要问的问题。
虽然该功能不是 ActionScript(或 Flex)固有的,但您可以使用事件和计时器来设置模拟系统。
我不太清楚你的具体问题,所以我给出两个答案:
1) 您希望每隔几秒处理一次文件以对任何更改进行操作。
在这种情况下,您需要做的就是设置一个计时器来定期检查文件:
var fileTimer:Timer = new Timer(5000);
fileTimer.addEventListener(TimerEvent.TIMER, checkFile);
...
private function checkFile(event:TimerEvent):void {
// read the file and do whatever you need to do.
}
2) 您想要解析一个非常大的文件,但不希望应用程序在执行此操作时挂起。
如果您想在后台处理文件,同时保持主应用程序响应,那么我可能会创建一个函数来解析文件的几行,然后发送事件并返回。侦听该事件并启动一个计时器,该计时器将等待几毫秒,然后再次调用该函数以解析下一组行。
这会中断大文件的解析,并有足够的停机时间来保持应用程序的其余部分顺利运行。您必须调整计时器间隔和一次解析的行数,以在响应能力和解析文件所需的时间之间取得良好的平衡。
希望这是有道理的!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)