`
sanzhixiong86
  • 浏览: 2404 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论
阅读更多
包 mx.rpc
类 public dynamic class AsyncToken
继承 AsyncToken  EventDispatcher  Object

该类为异步 RPC 操作提供设置额外数据或标记级别数据的位置。它也允许为单独的调用附加 IResponder。可从 token 属性的 ResultEvent 和 FaultEvent 中引用 AsyncToken。

http://livedocs.adobe.com/flex/3_cn/langref/mx/rpc/AsyncToken.html

  在flex/AIR应用中使用多个外部调用,程序无法监听这些调用是否返回或何时返回结果(或者错误),也监听不到调用远程对象数据反回的顺序。你可能希望针对这些结果能有不同的处理。
  一种方式就是给每一个调用分配一个异步令牌(AsyncToken )来追踪这些调用。

  不要这样来进行远程调用:

Java 代码

   1. myRO.myRemoteMethod(); 

myRO.myRemoteMethod();


  你应该这样:

Java 代码

   1. var token:AsyncToken=myRO.myRemoteMethod();//确保导入了mx.rpc.AsyncToken 

var token:AsyncToken=myRO.myRemoteMethod();//确保导入了mx.rpc.AsyncToken



  现在就有了一个变量"token",代表这个单独的调用。你可以分配token自己的result和fault处理函数:

Java 代码

   1. token.addResponder(myResponderClass); 

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接口就可以了。

转载与http://jiale.iteye.com/blog/632961
分享到:
评论

相关推荐

    FluorineFx C#搭建简单小例子

    var token:AsyncToken = amfClient.call("HelloWorld", null); token.addResponder(new Responder(onResult, onFault)); function onResult(result:Object):void { trace("Result: " + result as String); } ...

    flex多组上传功能

    为了更好地管理多组上传,我们可以使用ActionScript的异步处理能力,如`AsyncToken`和`addResponder()`方法,确保每组文件的上传不会阻塞用户界面。同时,我们还需要监听`result`、`fault`等事件来处理上传的成功、...

    arcgis for flex api

    8. **服务端交互**:说明如何与ArcGIS Server进行通信,获取和更新数据,如使用Task和AsyncToken。 9. **性能优化**:提供提高应用程序性能的策略,包括缓存、分块加载、多线程处理等。 10. **示例代码**:提供...

    Flex + LCDS + Java 入门教程

    6. 异步通信:了解异步请求的工作原理,如使用AsyncToken进行异步服务调用,并处理响应结果。 7. 数据管理:学习如何使用Flex的本地存储和LCDS的离线支持功能,实现在无网络连接时的应用功能。 8. 动画和特效:...

    ArcGIS API for Flex 2.0开发应用之分页查询

    在第二步中,我们可以使用QueryTask.execute(query:Query, responder:IResponder = null):AsyncToken来实现分页查询。Query对象新增加了一个属性Objectids,用于指定执行查询的objectid的范围,这就使我们可以根据...

    flex 自动搜索动能

    使用`AsyncToken`和`DataService`组件可以实现异步数据操作。 总的来说,Flex中的自动搜索功能涉及到事件处理、数据过滤、数据绑定、自定义组件等多个方面。通过合理的代码组织和优化,我们可以创建一个高效、用户...

    red5+flex实现超简易群聊天功能

    这可以通过`NetStatusEvent`和`AsyncToken`对象实现,确保消息的及时更新和显示。 5. **用户界面**:Flex的强项在于提供丰富的UI组件,如`TextInput`(输入框)和`List`(列表视图),用于构建简洁易用的聊天界面。...

    flex 等待界面显示

    Flex支持异步编程模型,如使用`AsyncToken`对象和`callLater()`方法,可以避免UI线程阻塞,确保等待界面的平滑显示。 5. **优化用户体验**: - **延迟显示**:不必要一开始就显示等待界面,只有当后台任务执行...

    Flex自动完成源代码[类似Google搜索自动完成功能].zip

    在Flex中,可以使用`mx.collections.ListCollectionView`或`mx.rpc.AsyncToken`等类来管理数据源。 5. **自定义和扩展**:这个组件是Adobe官方修改过的版本,说明它可能已经进行了优化,更适应实际应用需求。开发者...

    单纯Flex見本001: 显示状态消息

    例如,使用`AsyncToken`对象与`ResultEvent`来监控后台进程。 8. **样式和皮肤**:Flex允许自定义组件的外观,包括状态消息的样式。通过修改主题或创建新皮肤,你可以改变消息的字体、颜色、背景等视觉元素。 9. *...

    flex4 httpservice 例子

    `HTTPService`类位于`mx.rpc.http`包下,它是`AsyncToken`和`ResultEvent`的子类,继承了Flex的远程调用能力。通过`HTTPService`,开发者可以轻松地向Web服务发起GET或POST请求,并处理返回的数据。在描述中提到的...

Global site tag (gtag.js) - Google Analytics