flex中的同步和异步调用

问题描述:

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

感谢, 拉维

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

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

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

网络通话是如何异步的?我同意SWF预测,对网络的调用将是异步的,但实际与HttpService/Webservice进行通信的网络库将始终保持同步。虽然他们将会收到一次回应。

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