flex中的同步和异步调用

时间:2010-01-12 11:53:22

标签: flex flex3

什么是flex中的同步和异步调用。为什么Httpservice是异步的以及如何调用异步调用。

谢谢, 拉维

3 个答案:

答案 0 :(得分:1)

所有远程调用在FlashPlayer中都是异步的。 Adobe Virtual Machine 2不支持多线程同步执行任何调用。远程调用为您提供了一个对象(例如AsyncToken),它将根据结果或错误调度事件。

答案 1 :(得分:1)

使用同步调用,UI将被阻止,直到收到响应。由于没有向开发人员公开的线程API,并且阻止UI根本不是用户友好的,因此对外部源的调用是异步的。这允许UI在执行调用时继续运行。收到结果或错误后,将发送事件。

此规则有一个例外:在AIR中,可以打开到本地SQLite数据库的异步或同步连接。

答案 2 :(得分:0)

为什么网络调用是异步的?我同意SWF的意见,对网络的调用将是异步的,但与HttpService / Webservice通信的实际网络库将始终是同步的。虽然他们将会收到一次甚至一次的回复。

因此,除非您实施消息服务,否则网络呼叫将是同步的。 但是从SWF视图来看,它不支持多线程请求,它在网络库触发完成事件/故障时处理响应