|
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
Кто-нибудь юзал asSQL?
Подскажите, пожалуйста, кто знает (догадывается):
Создаю единый слушатель ответов SQL function handleServerToApplication(data:Object, token:Object):void { switch(token.info){ case "query1": break; case "query2": break; // и т.д. и т.д. } } var st:Statement = myConnection.createStatement(); var token:MySqlToken = st.executeQuery("SELECT * FROM table1"); token.info = "query1"; token.addResponder(new AsyncResponder(handleServerToApplication, fault, token)); token = st.executeQuery("SELECT * FROM table2"); token.info = "query2"; token.addResponder(new AsyncResponder(handleServerToApplication, fault, token));// и т.д. и т.д. Можно ли для этого как-то заюзать MySqlService? Хочется задействовать именно один постоянный слушатель путём единождого вызова. Очень мало примеров в сети Спасибо за советы! |
|
|||||
Имплементируйте mx.rpc.IResponder и вместо new AsyncResponder(handleServerToApplication, fault, token) пишите this, все данные будут приходить вам в result. Или используйте один респондер для всех токенов.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
Хм... Как это выглядит в коде?
|
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
Обработка возвращаемых значений расширенным от MySqlToken классом имплементирующем IResponder,
или использование одного респондера для всех токенов. Либо и то, и то. Последний раз редактировалось zorexundra; 29.01.2013 в 23:35. Причина: уточнение |
|
|||||
В вашем случае нет необходимости передавать токен в AsyncResponder.
Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
alatar, я правильно Вас понял?:
function handleServerToApplication(data:Object, token:Object):void { switch(token.info){ case "query1": break; case "query2": break; // и т.д. и т.д. } } var myAsyncResponder:AsyncResponder = new AsyncResponder(handleServerToApplication, fault) var st:Statement = myConnection.createStatement(); var token:MySqlToken = st.executeQuery("SELECT * FROM table1"); token.info = "query1"; token.addResponder(myAsyncResponder); token = st.executeQuery("SELECT * FROM table2"); token.info = "query2"; token.addResponder(myAsyncResponder);// и т.д. и т.д. Есть ещё идеи как сократить код такого функционала (построить тотже функционал на других готовых компонентах - меня смущает частый вызов addResponder())? |
|
|||||
private var _myAsyncResponder:AsyncResponder = new AsyncResponder(handleServerToApplication, fault) private var _st:Statement = myConnection.createStatement(); private function sendSql(sql:String, info:String):MySqlToken { var token:MySqlToken = _st.executeQuery(sql); token.info = info; token.addResponder(_myAsyncResponder); return token; } private function multiCall():void { sendSql('SELECT * FROM table1', 'query1'); sendSql('SELECT * FROM table2', 'query2'); sendSql('SELECT * FROM table3', 'query3'); sendSql('DROP TABLE table3', 'drop3'); }
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
GBee, я проверил своё предположение: если конструктору AsyncResponder не передать token, то handleServerToApplication не получает token в ответ на событие. Такто.
|
Часовой пояс GMT +4, время: 23:40. |
|
« Предыдущая тема | Следующая тема » |
|
|