

Ans:
IResponder interface provides the contract for any service that needs to respond to remote or asynchronous calls.
For example:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600" initialize="init();">
<fx:Declarations>
<s:RemoteObject id="contryremote" destination="countryManager"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.AsyncResponder;
import mx.rpc.AsyncToken;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.IResponder;
public var token:AsyncToken;
[Bindable]
public var countryList:Object;
public function init():void{
var countrylist:ArrayCollection = new ArrayCollection();
token=contryremote.getCountryList();
token.addResponder(new AsyncResponder(eventhandler, InflboxFaultEvent, null));
}
public function eventhandler(event:ResultEvent, token:Object=null):void {
countryList= (ArrayCollection)(event.result);
}
public function InflboxFaultEvent (event:FaultEvent, token:Object=null):void {
Alert.show("Error Data Loding");
}
]]>
</fx:Script>
<s:Panel title="RemoteObject Example"
width="356" height="265"
chromeColor="#555555"
backgroundColor="#000000" color="#FFFFFF">
<mx:DataGrid dataProvider="{countryList}" width="323"
height="201" x="15" y="15" color="#000000"/>
</s:Panel>
</s:Application>