`

Flex异步令牌AsyncToken的用法介绍

    博客分类:
  • Flex
阅读更多

什么是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接口就可以了

分享到:
评论

相关推荐

    flex 异步加载tree

    根据给定的信息,我们可以深入探讨Flex中的异步加载Tree组件的相关知识点。 ### 一、Flex与AsyncTree组件 #### 1. Flex简介 Flex是一种开源的框架,用于构建跨平台的桌面应用程序和移动应用程序。它提供了强大的...

    flex4.6 air 异步操作sqlite数据库

    "flex4.6 air 异步操作sqlite数据库"的主题着重于如何在Flex 4.6和Adobe AIR环境中实现非阻塞的SQLite数据库操作。在传统的同步操作中,程序会等待数据库操作完成才会执行下一步,这可能导致用户界面冻结,尤其是在...

    ArcGIS Flex API 中的 Flex 技术-异步特征

    在Web GIS领域,尤其是使用ArcGIS Flex API进行开发时,异步处理能力是至关重要的。Flex技术本身支持异步调用,这使得它非常适合用于创建响应迅速且用户友好的Web GIS应用程序。本文将深入探讨ArcGIS Flex API中的...

    flex4 中文 教程 详细介绍flex4 的用法

    Flex 4 中文教程主要面向没有基础的开发人员,通过深入浅出的方式介绍如何使用 Flex 4 构建动态、互动的 Web 应用。教程将详细介绍四种不同的架构方法,这些方法都是基于 Flex 与 BlazeDS 之间的数据通信,结合 ...

    Flex Tree 异步加载数据及分屏小工具

    综上所述,"Flex Tree 异步加载数据及分屏小工具"涉及的技术点主要包括Flex组件的使用、异步加载机制、数据提供者管理、事件驱动编程、分页策略以及源码分析和优化。这些知识对于构建高效、响应式的Flex应用程序至关...

    flex 经常用法flex 经常用法

    Flex布局,全称为“Flexible Box”,也称作弹性盒布局,是CSS3中的一种布局模式,主要用于处理网页或应用程序中的复杂布局问题。它为开发者提供了一种更加灵活的方式来控制元素在容器中的排列、对齐和分配空间。Flex...

    flex与服务端通信的as封装源码(同步、异步两种方式)

    这篇资料提供了一套AS(ActionScript)源码,用于实现Flex客户端与服务端的交互,支持同步和异步两种通信方式,且采用HTTPService进行封装,避免了对BlazeDS的依赖。主要知识点包括: 1. **Flex与服务端通信**:...

    flex4自定义事件用法

    下面将详细介绍Flex4自定义事件的用法,以及如何在一个完整的项目中导入和运行。 1. **创建自定义事件类** - 首先,我们需要创建一个继承自`Event`类的新类。通常,我们会选择`flash.events.Event`或`mx.events....

    D:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rar

    D:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\Fuji Flexa软件介绍(中文版).rarD:\下载\...

    Flex3组件介绍包含flex3的所有组件介绍并有例子

    Flex3组件介绍,包含flex3的所有组件介绍并有例子

    ESRI解决方案 构建基于Flex API和JavaScript API的地图应用

    除了Flex API,ESRI还提供了JavaScript API,这是一套轻量级的API,允许开发者使用JavaScript语言来构建地图应用。JavaScript API特别适合于构建那些需要快速开发、易于与其他Web应用集成的地图服务。它简化了地图...

    Flex简介Flex简介Flex简介Flex简介

    Flex是Adobe公司推出的一种用于构建富互联网应用(Rich Internet Applications,简称RIA)的技术产品,它主要服务于企业级应用开发。Flex旨在提供一个强大的工具集,用于创建具有高度交互性和视觉吸引力的用户界面,...

    flex 动态树,异步树

    4. 使用Flex实现动态树和异步树: - Flex SDK提供了Tree和TreeItemRenderer类,用于创建和定制树形组件。开发者可以通过这些类来实现动态树和异步树的功能。 - 数据提供者(DataProvider):设置数据模型,通常是...

    flex通道简要介绍

    flex通道介绍,主要介绍flex的通道设置

    3IM-govern.rar_flex_异步电机调速_弱磁_弱磁调速_调速

    "3IM-govern.rar_flex_异步电机调速_弱磁_弱磁调速_调速"这一压缩包文件包含了关于三相异步电机调速技术的深入探讨,特别是弱磁调速方法。这里我们将详细讲解三相异步电机的调速原理,以及弱磁调速在其中所扮演的...

    Flex tree的用法

    让我们深入了解一下Flex Tree的用法以及与XML数据结合的方式。 1. **Flex Tree的基本用法** - **创建Tree组件**: 在Flex中,你可以通过在MXML或ActionScript中定义`mx.controls.Tree`组件来创建Tree。 - **数据...

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...

    flex 属性值基本用法

    flex 属性值基本用法

    Flex IFrame中文注释使用方法详解

    本文将深入探讨Flex IFrame的使用方法及其中文注释,帮助开发者更好地理解和应用这一组件。 首先,我们要理解什么是IFrame。IFrame(Inline Frame)是一种HTML元素,可以在一个网页中嵌入另一个网页。在Flex中,...

Global site tag (gtag.js) - Google Analytics