为什么 Flex 中有两个不同的 HTTPService 类? 这个 和 这个
第二个继承了第一个。为什么不能有一个课程将两者结合起来?
其中一个对象(您发布的第一个链接)是 HTTPService 对象本身。
第二个是包装 HTTPService 对象并为其提供 <mxml /> 标记的附加功能的对象。
这两者可能没有结合起来,因为您不一定每次需要 HTTService 对象时都需要实现 IMXMLObject 和 IMXMLSupport 接口。
URLLoader 类中似乎有更多的错误处理功能。不过,使用 MXML 创建 HTTPService 并没有太大区别。
// ActionScript Style
private function myService():void {
var service:HTTPService = new HTTPService();
...service.parameters = value;...
service.send();
}
或者
< !-- MXML Style -- >
< mx:HTTPService >
...< parameters >...
< /mx:HTTPService >
第一个是 mx.rpc.http 包的成员,用于 ActionScript 代码。HTTPService 类的另一个版本是第一个版本的子类,并且是 mx.rpc.http.mxml 包的成员。这是您在使用标记实例化对象时使用的版本。
这些版本几乎相同,但有两个显着差异:只有 MXML 版本实现了 showBusyCursor 属性,它会在 HTTPService 请求/响应周期期间显示动画光标顶部,以及并发属性,它确定多个并发请求如何处理相同的网络资源。
在 ActionScript 中通常使用的 HTTPService 类版本中没有实现 concurrency 属性,因为在使用 ActionScript 时,您通常会为每个新请求创建一个新的 HTTPService 对象。
资料来源:Adobe Flex 3 圣经 - David Gassner