博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

AsymcToken与Responder RPC服务

Posted on 2011-11-25 13:41  酸梅拯救地球  阅读(215)  评论(0)    收藏  举报

摘抄

Responder 是一个简单的处理远程异步调用的结果/异常的封装类。Responder 将实现mx.rpc.IResponder接口。

Responder 有两个重要的方法:
result() - function接收结果事件
fault() - function 接收异常事件

AsyncToken and Responders
Responders(响应类)通常和AsyncTokens类一起用于异步调用处理。
AsyncResponder (mx.rpc.AsyncResponder)
AsyncResponder在mx.rpc package包中方便地实现了IResponder接口。
AsyncResponder的构造函数中有两个参数,它们都是函数:一个resulthandler,一个 faulthandler。

创建一个AsyncResponder实例:

As3代码  收藏代码
  1. //HttpService的send()调用请求,返回一个token。  
  2. var token:AsyncToken = http.send();  
  3.   
  4. // 设置 responder (resultHandler 和 faultHandler 函数) 并添加到 token  
  5. var responder:AsyncResponder = new AsyncResponder( resultHandler, faultHandler );  
  6. token.addResponder( responder );  


传递到上面的构造函数的参数是以下的两个函数resultHandler和faultHandler函数:

As3代码  收藏代码
  1. public function resultHandler( event:ResultEvent, token:Object=null ):void  
  2.    {  
  3.       Alert.show( "RESULT: "+ event.result as String );  
  4.    }  
  5.      
  6.    public function faultHandler( event:FaultEvent, token:Object=null ):void  
  7.    {  
  8.       Alert.show( "FAULT: " + event.fault.message );  
  9.    }  


AsyncResponder类的两个函数resultHandler和faultHandler接受两个相同的参数:event 和token。