AsyncToken
来源:互联网 发布:淘宝联盟不显示订单 编辑:程序博客网 时间:2024/06/02 16:15
什么是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接口就可以了
- AsyncToken
- AsyncToken
- AsyncToken入门
- An AsyncToken Primer
- flex WebService, AsyncToken用法
- Flex异步令牌AsyncToken的用法介绍
- 使用AsyncToken和CallResponder的注意事项
- Flex异步令牌AsyncToken的用法介绍
- AsyncToken机制替换通用的Listener机制
- Flex异步令牌AsyncToken的用法介绍
- 使用STMP和yahoo发送邮件
- Wishy-washy 拿不定主意
- 浅谈c++里拷贝构造函数和拷贝赋值函数
- Conference List for Information Retrieval and Data Mining
- ORACLE存储子句的优先级
- AsyncToken
- java实现 删除输入的多余空格
- [双语阅读]罗马教皇平安夜不平安 主持弥撒被撞倒
- LINUX期末复习---程序设计入门
- 央视将推“网络电视台”
- [英语阅读]英国:冰雨来袭 圣诞不宜出行
- 闲置地产 vacant property
- 无锁编程
- 块设备开发_找到的