Flex RemoteObject - gérer plusieurs demandes

J'ai un couple de distance méthodes de l'objet que je tiens à répondre à de différentes façons, selon le contexte, mais je préfère ne pas configurer un tas de différentes RemoteObject alias. Aucun avis sur cela? Un peu de contexte:

Disons que je suis un administrateur de l'application qui affiche les statistiques de ventes de différentes manières. La méthode à distance ressemble:

<mx:RemoteObject id="rpt" destination="AMFServer">
  <mx:method name="getSalesStats" fault="getSalesStatsFault(event)" 
    result = "getSalesStatsSuccess(event)" />
</mx:RemoteObject>

La getSalesStats méthode prend un ID d'employé et de vente d'un type de ses arguments. Vous souhaitez appeler comme:

rpt.getSalesStats(120, "peanuts");

public function getSalesStatsSuccess(e:ResultEvent):void {
   salesdata:ArrayCollection = e.result.rows as ArrayCollection; 
   salesGraph.dataProvider = salesdata; 
   salesGraphPanel.title = "Peanut Sales, 1990";
}

Je veux être en mesure d'appeler cette méthode dans des contextes différents, parfois d'envoyer le résultat à un graphique et parfois à un datagrid; je veux être en mesure de modifier le titre et le type de graphique en fonction de ce que veut l'utilisateur. Une partie de ce que je veux peut être obtenue en évaluant les données retournées par le serveur; l'objet contient le nom du rapport, afin que je puisse évaluer la valeur. Mais certaines choses doivent changer en fonction plus que ce que je serai de retour à partir du serveur. Si c'était un appel synchrone, il serait facile; je ferais quelque chose comme:

function buttonOneClick():void {
   myData1:ArrayCollection = getSalesStats(120, "peanuts");
   myChart.dataProvider = myData1;
}

function buttonTwoClick():void {
   myData2:ArrayCollection = getSalesStats(120, "cashews");
   myDataGrid.dataProvider = myData2; 
}

J'aimerais passer quelque chose par le biais de la méthode à distance à la fonction de répondre, comme:

rpt.getSalesStats(120, "peanuts", "clicked button one");

mais que, bien sûr, déclenche une erreur, car le serveur ne veut pas que ce dernier argument. Toutes les pensées? Je vais préciser si c'est confus..

OriginalL'auteur SkippyFlipjack | 2009-07-11