コンテキストに応じてさまざまな方法で応答したいリモート オブジェクト メソッドがいくつかありますが、さまざまな RemoteObject エイリアスを設定したくありません。それを行うためのアドバイスはありますか?背景:
販売統計をさまざまな方法で表示する管理アプリケーションがあるとします。リモート メソッドは次のようになります。
<mx:RemoteObject id="rpt" destination="AMFServer">
<mx:method name="getSalesStats" fault="getSalesStatsFault(event)"
result = "getSalesStatsSuccess(event)" />
</mx:RemoteObject>
getSalesStats メソッドは、従業員 ID と販売タイプを引数として取ります。次のように呼び出します。
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";
}
このメソッドをさまざまなコンテキストで呼び出して、結果をチャートに送信したり、データグリッドに送信したりしたいと考えています。ユーザーが望むものに応じて、チャートのタイトルとタイプを変更できるようにしたいと考えています。私が望むことのいくつかは、サーバーから返されたデータを評価することで達成できます。オブジェクトにはレポート名が含まれているため、その値を評価できます。しかし、サーバーから返されるものだけでなく、いくつかのことを変更する必要があります。これが同期呼び出しである場合は、簡単です。私は次のようなことをします:
function buttonOneClick():void {
myData1:ArrayCollection = getSalesStats(120, "peanuts");
myChart.dataProvider = myData1;
}
function buttonTwoClick():void {
myData2:ArrayCollection = getSalesStats(120, "cashews");
myDataGrid.dataProvider = myData2;
}
次のように、リモート メソッドを介して応答関数に何かを渡したいと思います。
rpt.getSalesStats(120, "peanuts", "clicked button one");
ただし、サーバーは最後の引数を必要としないため、もちろんエラーがスローされます。何かご意見は?これが紛らわしいかどうかを明確にします..