Задался вопросом, чтобы наверняка быть уверенным...
Если мне нужно, например, разово по нажатию какой-нибудь кнопки выполнить загрузку чего-либо.
Могу ли 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);
}
}