|
|
|||||
Диспатч из статической функции
Есть класс который не участвует в displayList'e, с кучей статических методов, в одном из таких методов идёт работа с базой и нужно узнать что запрос пришёл успешно. Следовательно после удачного завершения запроса необходимо продиспатчить своё событие. Но только вот вопрос, а можно ли это сделать, если фукнция статическая и экземпляр данного класса мы не создали нигде? Если так сделать нельзя и логика моя изначально бредовая - подскажите, как лучше сделать))
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Композиция. Создать диспатчер и с ним работать. И естественно предоставить ссылку на него в статическом свойстве или методе, чтоб "народ" мог подписываться.
__________________
Reality.getBounds(this); |
|
|||||
Переделать класс со статическими методами в синглтон, сделать композицию с EventDispatcher, т.е. сделать его полем этого объекта и реализовать IEventDispatcher с перенаправлением всех методов диспатчера на тот, что вы создадите в виде поля.
Добавлено через 1 минуту Вариант Wolsh тоже вполне ничего, только сам диспатчер будет доступен снаружи и им будут пользоваться. А я предложил самому объекту прикинуться диспатчером.
__________________
:) |
|
|||||
Если уж статический метод, то я бы советовал глянуть в сторону Promise, например, https://github.com/darscan/robotlegs...ync/Promise.as
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Правда, через target он все равно будет доступен.. Но о чем вообще речь? Как будто обычный экземпляр-наследник диспатчера от этого защищен))
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 26.03.2012 в 15:35. |
|
|||||
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Как вариант передать в функцию callback и вызвать его по приходу внутреннего события.
|
|
|||||
Lorem ipsum
|
Не понимаю я этого кокетства при такой архитектуре.
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 14:48. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|