Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Как бы упростить получение баланса через метод secure.getBalance (http://www.flasher.ru/forum/showthread.php?t=156587)

goodguy 24.05.2011 13:31

Как бы упростить получение баланса через метод secure.getBalance
 
В данный момент, получение баланса у меня реализовано так:
Есть класс, в котором есть функция формирующая запрос к своему серваку и делающая его, и, соответственно другая функция, которая вызывается по Event.COMPLETE.
Какой-то класс вызывает первую функцию, та формирует запрос, а другая получает ответ. Соответственно, если некий класс делает вызов функции getBalance(), то ему так же нужно слушать какое-то событие, которое отправит функция получившая баланс, и уже потом, через геттер получить этот баланс.
Конструкция работает, но мне она не нравится.
Хотелось бы, чтобы из какого-либо класса сделать вызов getBalance(), и чтобы он же и вернул баланс.
Уже весь мозг сломал, пока думал как это сделать.
Есть какие-нибудь преложения? =)

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

oleg_tomenko 24.05.2011 13:51

Так secure.getBalance на сервере работает. Вызвать метод, обработать json — куда уже проще?

goodguy 24.05.2011 13:53

Как-будто я этого сам не знаю. Читайте тему, прежде чем отвечать. Мне нужно совсем другое
Чтобы вызывать метод, а потом обработать json, нужно чтобы другой метод еще получил этот ответ в формате json. А это уже делает невозможным то, чтобы ответ вернул первый же метод.

Bgg 24.05.2011 13:55

Контроллер который работает с запросами добавляет результаты в модель, модель шлет событие что она обновила баланс пользователя. Те кому нужно слушают это событие.

goodguy 24.05.2011 13:59

Сейчас так и есть. Но для этого в других классах висят слушатели, и обработчики для каждой этой хрени. Гора кода. А если еще учитывать прочий код, то получается вообще путанница. Просто хочу как-нибудь разрулить хотя бы это

Bgg 24.05.2011 14:05

Ну так каждый класс и должен решать слушать ему или нет, обрабатывать событие или нет. В чем конкретно путаница то?)

goodguy 24.05.2011 14:16

Просто хочу, чтобы функция getBalance() была не void, а Number.
И достаточно было вызвать ее. А все эти процедуры по запросу, получению и обработке баланса выполнялись в отдельном классе и эта функция просто возвращала результат их работы.
Хз как бы ее заставить "подождать" пока баланс не прийдет

Chuvak 24.05.2011 14:29

Очень здравые у вас потребности обязательно подумаю над этим.
А пока уважаемый не скажешь ли ещё такую весчь. Тоже парюсь с баллансом щас, но ломаю голову над другим. Те для секьюрных запросо нам необходимо сделать запрос к своему серверу который и приконнектицца к АПИ. Вопрос: как ему это сделать силами php, чот не вкурил вообще. Я разобрался с тем чтобы пхп сделал мне сцылку с валидным запросом, а как сделать чтобы он сам этот запрос и выполнил и в зависимости от результата дал мне строку. Мне бы даже не стрёмно было её обработать в Event.COMPLETE :))))

Добавлено через 13 минут
ёклмн ну file_get_contents(url); же.. во я туплю...

Jewelz 24.05.2011 15:16

Цитата:

Сообщение от goodguy (Сообщение 998305)
Просто хочу, чтобы функция getBalance() была не void, а Number.
И достаточно было вызвать ее. А все эти процедуры по запросу, получению и обработке баланса выполнялись в отдельном классе и эта функция просто возвращала результат их работы.
Хз как бы ее заставить "подождать" пока баланс не прийдет

думаю никак
чтобы сделать как ты хочешь, нужно чтобы запрос на сервер и получение ответа выполнились синхронно (если работал в air, то что-то наподобие открытия файла в синхронном режиме)
поэтому думаю единственный выход - колбек ф-ция, т.е. как у тебя сейчас и сделано

Astraport 24.05.2011 15:36

Цитата:

Конструкция работает, но мне она не нравится.
Когда коту нечего делать...
А в чем практическая польза?


Часовой пояс GMT +4, время: 04:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.