【发布时间】:2010-02-18 21:45:53
【问题描述】:
我有一个 Flash UI,它会定期调用服务器以获取一些更新的信息。该调用使用 flex sdk 的 rpc.soap.Operation 类。它看起来像这样:
var wsOperation:Operation = Operation(webService.getOperation(SomeOperation));
wsOperation.addEventListener("fault", wsError);
wsOperation.addEventListener("result", wsResult);
wsOperation.send(...some params);
此调用从 SQL 数据库中获取一些数据。我已经将调用从发送之前到 wsResult 函数开始的时间设置为约 4 秒。在此期间,我的 UI 没有更新。它被冻结/无响应。
现在,我知道 Flash 是单线程/异步的,所以我不确定为什么会这样。我看到 send(..) 函数返回一个我没有使用的 AsyncToken。这可能与它有关吗?
感谢任何其他关于为什么会发生这种情况的想法。谢谢。
我仍然没有找到可接受的解决方案。在 4 秒的通话期间,我必须使用伪线程来获取 flash 以更新 UI,这似乎很荒谬。我想知道肥皂响应的解析是否会占用大量时间。如果有很多处理要做,Flash会无限延迟更新UI吗?
【问题讨论】:
标签: apache-flex flash actionscript-3 soap rpc