Показать сообщение отдельно
Старый 20.06.2019, 03:14
djken вне форума Посмотреть профиль Отправить личное сообщение для djken Посетить домашнюю страницу djken Найти все сообщения от djken
  № 1  
Ответить с цитированием
djken
 
Аватар для djken

Регистрация: May 2010
Адрес: Краснодар
Сообщений: 182
Отправить сообщение для djken с помощью ICQ Отправить сообщение для djken с помощью Skype™
Question Получить результат функции с асинхронным событием внутри

Всем привет. Подскажите пожалуйста.

Как получить результат вызываемой функции, если внутри нее идет загрузка данных с сервера, следовательно внутри подписка на событие и результат получаем только аж в обработчике ?

Наглядный пример:
Код AS3:
_str = getJson('https://site.ru/json'); // как получить данные из функции getJson, если данные получаем только в onComplete ?
 
private function getJson(link:String):String
{
   var json:String = new MainLoader(link);
   json.addEventListener(Event.COMPLETE, onGetJsonComplete);
   json.load();
 
   return json;
}
 
private function onGetJsonComplete (e:Event):void
{
   var data:String = e.target.data;
}
P.S. конечно можно в обработчике onGetJsonComplete по получению данных запихивать их в переменную класса и вызывать кастомное событие.. Но мне кажется это не совсем изящным. Может есть более правильное решение?
__________________
кто не отвечает, того garbage collector забирает