HTTPService AsyncToken et AsyncResponder exemple
Où puis-je trouver un exemple de l'application Flex qui implémente une HTTPService de manière asynchrone appelé par un AsyncToken et un AsyncResponder?
Merci d'avance
la httpservice envoyer une chaîne comme celle-ci avec une certaine fréquence:
ligne colonne##nombre#de ligne colonne##nombre#de ligne colonne##nombre#....
ÉDITÉ CODE:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="onCreationComplete()"
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.rpc.remoting.RemoteObject;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.http.mxml.HTTPService;
import mx.rpc.AsyncRequest;
import mx.rpc.AsyncResponder;
import mx.rpc.AsyncToken;
import mx.collections.ArrayCollection;
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
import mx.controls.AdvancedDataGrid;
import mx.controls.Alert;
import mx.rpc.IResponder;
[Bindable]
public var dataList:ArrayCollection;
public function getResults(source:String) : ArrayCollection {
var ac:ArrayCollection = new ArrayCollection();
var data:Array = source.split('#');
for (var i:int = 0; i < data.length; i += 3) {
var dataObj:Object = {row: data[i], column: data[i+1], value: data[i+2]};
ac.addItem(dataObj)
}
return ac;
}
public function result(event:ResultEvent):void{
dataList = getResults( String(event.result) );
}
public function fault(event:FaultEvent) : void {
dataList = getResults(String(event.fault));
}
public function onCreationComplete():void
{
var service:HTTPService = new HTTPService();
service.url = "http://10.15.20.75/server4flex/servlet/Datagen";
service.resultFormat = "text";
var token:AsyncToken = service.send(dataList);
token.addResponder(new mx.rpc.Responder(result, fault));
}
]]>
</mx:Script>
<mx:AdvancedDataGrid id="dg"
dataProvider="{result}"
liveScrolling="true"
x="10" y="10" width="621"
verticalScrollPolicy="on"
>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="row"
headerText="Riga"/>
<mx:AdvancedDataGridColumn dataField="column"
headerText="Colonna"/>
<mx:AdvancedDataGridColumn dataField="value"
headerText="Valore"/>
</mx:columns>
</mx:AdvancedDataGrid>
</mx:Application>
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas ce que vous êtes vraiment à la recherche après, mais ici ou ici par exemple, sont à utiliser
AsyncToken
etAsyncResponder
Edit:
dataList
êtreBindable
dataList
à chaque itération de bouclegetResults
à un moment où vos résultats sont prêtsevent
dansresult
est une fonctionEvent
mais également uneResultEvent
où il y a unresult
champ contenant vos donnéesQui peut regarder comme cette (non testé):
Edit2:
c'est un exemple de travail à l'aide d'un simple fichier php pour obtenir les données en cours d'exécution sur un serveur web local.
Trouvé ici.