передача нескольких параметров обработчикам результатов в flex - PullRequest
0 голосов
/ 14 августа 2010

Есть ли способ расширить класс ResultEvent в flex.у меня есть следующий код:

var token: AsyncToken = remoteObject.setQueryAndGetPromptValues ​​('country', queryString);

            token.addResponder(new mx.rpc.Responder(resultCountrySearch,faultCountrySearch));

var token: AsyncToken = remoteObject.setQueryAndGetPromptalues ​​(Строка запроса);token.addResponder (новый mx.rpc.Responder (resultCompanySearch, faultCompanySearch));

, поэтому после выполнения вызова RPC я получаю ResultEvent, который обрабатывается resultCountrySearch или resultCompanySearch, каждый из которых обновляет соответствующее текстовое поле,У меня 30 таких запросов, поэтому я не хочу создавать 30 различных функций-обработчиков.Есть ли способ, которым я мог бы передать, какое текстовое поле для обновления в resultHandler вместе с событием результата.

Ответы [ 2 ]

4 голосов
/ 14 августа 2010

Один из способов - добавить ваши переменные в asyncToken в качестве свойств объекта и использовать их в обработчике результатов

token.myprop = myvar;
1 голос
/ 14 августа 2010

Есть способ, потому что Swiz библиотека сделает это за вас.Все, что вам нужно сделать, это вызвать executeServiceCall(call, resultHandler, faultHandler, eventArgs), и массив evertArgs будет передан в качестве аргумента для любого вызываемого обработчика.

Я не знаю всех деталей реализации, но это открытый исходный кодбиблиотека, так что вы можете поиграть в их DynamicResponder классе (реализует IResponder), чтобы увидеть подход Swiz.Вероятно, лучше сначала прочитать соответствующую документацию (не волнуйтесь, она короткая!).

В качестве альтернативы вы можете просто использовать библиотеку, хотя это может оказаться непрактичным для вашеготребования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...