什么是AsyncToken?官方文档是这样描述的:"这个类针对异步RPC操作提供了一个用来设置额外的或者令牌级数据的地方。它也允许一个IResponder作为一个独立调用被附加。这个AsyncToken能够在ResultEvent和FaultEvent中用token属性来引用。"
如果你对Flex中远程异步调用的本质不熟悉,肯定还是有点困惑的。我碰见过大量的对这个便捷类不熟悉的人,因此我试着来让它明朗一点。
无论何时从你的flex/AIR应用中使用多个外部调用中的一个,你都不会知道这些调用是否或者何时返回结果(或者错误),你也不会知道它们返回的顺序。即使你按照"RO1","RO2","RO3"的顺序调用远程对象,它们返回的顺序还是可能不一样。你可能也希望针对这些结果能有不同的处理。
一种方式就是给每一个调用分配一个异步令牌(AsyncToken )来追踪这些调用。
不要这样来进行远程调用:
myRO.myRemoteMethod();
你应该这样:
var token:AsyncToken=myRO.myRemoteMethod();(确保导入了mx.rpc.AsyncToken)
现在就有了一个变量"token",代表这个单独的调用。像这样,你可以分配token自己的result和fault处理函数
token.addResponder(myResponderClass);
这里myResponderClass类实现了IResponder.实现Iresponder简单的意味着定义了如下两个方法签名:
* public function result(data:Object):void
* public function fault(info:Object):void
因此你可以对你的远程调用在调用时设置result和fault处理函数,而不用把硬编码放到你的远程对象,HTTPService或者WebService标签里。这也恰好就是Cairngorm和其他微体系结构的运行方式。
AsyncToken最后一点很酷的特性就是它是动态类。这意味着,当你进行远程调用时可以添加属性到token上,然后result/fault处理函数中读取这些属性。
另外,在flex sdk3.4中有CallResponder,可以用CallResponder实例的token属性引用这个异步令牌。在flex sdk3.2中式没有这个类的,如果要用的话就只能自己写了,只要这个类继承自Iresponder接口就可以了
分享到:
相关推荐
y="20"> x="20" dataProvider="{loadingxml}" y="10" height="400" width="394" labelField="@label" itemClick="tree_itemClick(event);... itemOpening="tree_itemOpening(event);...
flex 经常用法flex 经常用法flex 经常用法flex 经常用法flex 经常用法
flex4 中文教程 详细介绍flex4 的基本用法,适合没有基础的开发人员参考
sqlite 是较常用的轻型数据库,同步的列子比较多,因做项目写了一个异步的demo
Flex技术中AdvancedDataGrid使用方法
flex4 自定义事件 用法 源码 完整项目导入可运行
ArcGIS Flex API 中的 Flex 技术-异步特征
Flex3组件介绍,包含flex3的所有组件介绍并有例子
D:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\...
Flex简介Flex简介Flex简介Flex简介Flex简介
flex通道介绍,主要介绍flex的通道设置
yacc 和flex的介绍,详细介绍了yacc和flex的使用方法
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
flex 属性值基本用法
ESRI解决方案 构建基于Flex API和JavaScript API的地图应用
flex企业级开发运用介绍,Flex企业Web运用系列flex企业级开发运用介绍,Flex企业Web运用系列flex企业级开发运用介绍,Flex企业Web运用系列
里面收集了一些Flex的tree控件的用法和实例的源代码
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
一些flex组件的用法! flex组件用法。 自定义控件
Arcgis server flex FeatureLayer 渲染用法