apache-flex - Flex 中的异步函数调用

标签 apache-flex actionscript-3 actionscript asynchronous

是否可以在 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) 您想解析一个非常大的文件,但不希望应用程序在执行此操作时挂起。

如果你想在后台处理文件,同时保持主应用程序的响应,那么我可能会创建一个函数来解析文件的几行,然后发送一个事件并返回。监听事件并启动一个计时器,该计时器将等待几毫秒,然后再次调用该函数以解析下一组行。

这将在足够的停机时间内中断大文件的解析,以保持应用程序的其余部分平稳运行。您必须使用计时器间隔和要立即解析的行数,以在响应性和解析文件所需的时间之间取得良好的平衡。

希望这是有道理的!

关于apache-flex - Flex 中的异步函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/563747/

相关文章:

android - mxmlc 在命令行构建期间不包含 *.ane 文件

actionscript-3 - 是否可以使用 as3 播放 .m4a 文件?

php - AS3 RSAKey.sign() != PHP openssl_sign() 函数

html - 如何访问外部mxml中的html请求参数

apache-flex - 尝试在 Flex4/AS3 中将矩形绘制到自定义容器

apache-flex - 柔性 : HTTP request error #2032

apache-flex - 灵活单元 4 -- Hello World

actionscript-3 - 访问未定义的属性cerc

apache-flex - Flash Builder 4中的快速修复(CTRL + 1)

actionscript-3 - 浏览器托管的来自SWF的Flash Socket连接