У меня есть пара методов удаленных объектов, на которые я хочу реагировать по-разному в зависимости от контекста, но я бы не стал устанавливать кучу разных псевдонимов RemoteObject. Любой совет по этому поводу? Немного предыстории:
Допустим, у меня есть приложение администратора, которое по-разному отображает статистику продаж. Удаленный метод выглядит так:
<mx:RemoteObject id="rpt" destination="AMFServer">
<mx:method name="getSalesStats" fault="getSalesStatsFault(event)"
result = "getSalesStatsSuccess(event)" />
</mx:RemoteObject>
Метод getSalesStats принимает идентификатор сотрудника и тип продаж в качестве аргументов. Вы бы назвали это как:
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");
но это, конечно, выдает ошибку, потому что серверу не нужен последний аргумент. Какие-нибудь мысли? Я уточню, если это сбивает с толку ..