Flex's Remoting/RPC:AsyncToken and Responders

http://www.flexafterdark.com/docs/ActionScript-Responder

Responder

A Responder is simple class encapsulating the handling of a Remote (asynchronous) call and its result and/or fault. A Responder class will implement the mx.rpc.IResponder interface.

A Responder object has two important methods:

  • result() - function receives a ResultEvent
  • fault() - function receives a FaultEvent

AsyncToken and Responders

Responders are usually used with AsyncTokens  for asynchronous call handling.

AsyncResponder (mx.rpc.AsyncResponder)

AsyncResponder is a convenient implementation of the IResponder interface  in the mx.rpc package.

The AsyncResponder constructor takes two arguments, both of them functions:  a result handler and a fault handler.

Create an AsyncResponder instance:

   // call the HTTP Service's send() to invoke the request, a token is returned
   var token:AsyncToken = http.send();
   
   // setup responder (resultHandler and faultHandler functions) and add to token
   var responder:AsyncResponder = new AsyncResponder( resultHandler, faultHandler );
   token.addResponder( responder );

The resultHandler and faultHandler arguments passed into the constructor above are both functions with the following signatures:

   public function resultHandler( event:ResultEvent, token:Object=null ):void
   {
      Alert.show( "RESULT: "+ event.result as String );
   }
   
   public function faultHandler( event:FaultEvent, token:Object=null ):void
   {
      Alert.show( "FAULT: " + event.fault.message );
   }

Both the result and fault handler methods of an AsyncResponder  accepts two arguments: the event and the token.

Related Docs:

posted @ 2011-12-13 14:03  Stranger  阅读(167)  评论(0编辑  收藏  举报