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

Регистрация: May 2010
Адрес: Краснодар
Сообщений: 182
Отправить сообщение для djken с помощью ICQ Отправить сообщение для djken с помощью Skype™
Question Можно ли Loader объявить локально для разовой загрузки?

Задался вопросом, чтобы наверняка быть уверенным...

Если мне нужно, например, разово по нажатию какой-нибудь кнопки выполнить загрузку чего-либо.
Могу ли Loader объявить не на уровне класса, а локально в методе и там же зарегистрировать обработчик?
Понятно, что больше не смогу обратиться к этому Лоадеру из других методов, но он мне и не нужен больше.

После того как onClick отработал, есть вероятность того, что onComplete не сработает в итоге? (Например, зачистится сборщиком, пока будет загружаться весомый файл...) Хотя в официальной документации примеры так и приведены с локальным объявлением..

Код AS3:
public class Example extends Sprite
{
 
     public function Example()
     {
     }
 
     public function onClick(e:MouseEvent):void
     {
          var ldr:Loader = new Loader();
          ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
          ldr.load(new URLRequest('http://test.ru/link'));
          addChild(ldr);
     }
 
     private function onComplete(e:Event):void
     {
           e.currentTarget.removeEventListener(Event.COMPLETE, onComplete);
     }
}
__________________
кто не отвечает, того garbage collector забирает