event.COMPLETE обработчик вопрос - PullRequest
2 голосов
/ 28 июня 2010

Я хочу отправить пользовательское событие, когда два файла успешно загружены или загружены. Я использую

fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileBigRef.addEventListener(Event.COMPLETE, completeHandler);

для прослушивания полного события только с одним обработчиком.

function completeHandler(event:Event):void{
    var e:Event=new Event("addInfoDone");
    dispatchEvent(e);
    fileBigRef.removeEventListener(Event.COMPLETE,completeHandler);
    fileRef.removeEventListener(Event.COMPLETE,completeHandler);
}

Я хочу, чтобы событие отправлялось только один раз, когда оба файла fileRef и fileBigRef завершены. Есть идеи?? Мой мозг сейчас жарен и не может ни о чем думать ..... Спасибо за помощь.

1 Ответ

1 голос
/ 28 июня 2010

Для быстрого и грязного решения, как насчет определения счетчика, который увеличивается при каждом срабатывании completeHandler.Как только счетчик достигнет ожидаемого количества файлов (звучит так, как будто вы ожидаете 2), вы запускаете событие addInfoDone:

var fileRefCounter:Number = 0;

function completeHandler(event:Event):void{
    fileRefCounter++;
    if(fileRefCounter == 2)
    {
        // both files have downloaded; fire your custom event, or whatever
    }
}
...