【发布时间】:2010-05-19 02:38:58
【问题描述】:
什么是flex中的同步和异步调用。 Httpservice为什么是异步的以及如何调用异步调用。
谢谢, 拉维
【问题讨论】:
标签: apache-flex flex3
什么是flex中的同步和异步调用。 Httpservice为什么是异步的以及如何调用异步调用。
谢谢, 拉维
【问题讨论】:
标签: apache-flex flex3
FlashPlayer 中的所有远程调用都是异步的。 Adobe Virtual Machine 2 不支持多线程同步执行任何调用。远程调用为您提供了一个对象(例如 AsyncToken),该对象将在结果或故障时分派事件。
【讨论】:
使用同步调用,UI 将被阻塞,直到收到响应。由于没有向开发人员公开线程 API,并且阻塞 UI 对用户来说根本不友好,因此对外部源的调用是异步的。这允许 UI 在调用执行时继续运行。收到结果或错误时将分派事件。
此规则有一个例外:在 AIR 中,可以打开与本地 SQLite 数据库的异步或同步连接。
【讨论】:
为什么网络调用是异步的?我同意 SWF 的观点,对网络的调用将是异步的,但与 HttpService/Webservice 通信的实际网络库将始终是同步的。尽管他们会在收到响应后发送一个偶数。
所以网络调用将是同步的,除非您实现消息服务。 但是从 SWF 来看,由于它不支持多线程请求,它会在网络库触发事件/完成错误时处理响应
【讨论】: