Доброе время суток.
Столкнулся с проблемой необходимости запустить тот или иной метод, но не сразу, а после... давайте по порядку. Есть плеер, который получает URL для проигрывания видео с сервера (XML файлом).

Код AS3:
public function getVideoFile():String {
if (this.videoFileUrl.length <= 3) {
this.setVideoFileUrl(this.playlistLoader.getVideoUrl());
}
return this.videoFileUrl;
}
public function videoPlay():void {
this.videoStream.play(this.getVideoFile());
}
В свою очередь this.playlistLoader это объект класса загрузчика XML:

Код AS3:
private function loadXmlData():void {
var urlRequest:URLRequest = new URLRequest("http://url.to/video/file/");
this.xmlUrlLoader = new URLLoader();
this.xmlUrlLoader.addEventListener(Event.COMPLETE, this.completeListener);
this.xmlUrlLoader.load(urlRequest);
}
private function completeListener(e:Event):void {
this.xmlData = new XML(this.xmlUrlLoader.data);
}
public function getVideoUrl():String {
return this.xmlData.child('item').attributes()[0];
}
Дело в том, что метод videoPlay вызывается раньше, чем подгружается XML, и соответсвенно в методе playlistLoader.getVideoUrl() происходит ошибка, т.к. на тот момент переменная xmlData (где по идее должна храниться загруженная XML'ка) ещё пуста.
Как это обойти, что мне сделать?
Попробовал добавить новый метод в playlistLoader:

Код AS3:
public function getVideoUrl():String {
while (!this.checkForLoaded()) {
trace('Loading');
}
return this.xmlData.child('item').attributes()[0];
}
private function checkForLoaded():Boolean {
if (this.xmlUrlLoader.bytesTotal != this.xmlUrlLoader.bytesLoaded) {
return false;
}
return true;
}
Но всё равно в ответ получаю ошибку: "TypeError: Error #1009: Cannot access a property or method of a null object reference."
Я уверен ситуация стандартная, и её миллион раз решали, но я новичок, и хотел бы попросить у вас помощи.