event.COMPLETE handler question
I want to dispatch a custom event when the two files are downloaded or uploade开发者_如何学运维d successfully. I use
fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileBigRef.addEventListener(Event.COMPLETE, completeHandler);
to listen the complete event with only 1 handler.
function completeHandler(event:Event):void{
var e:Event=new Event("addInfoDone");
dispatchEvent(e);
fileBigRef.removeEventListener(Event.COMPLETE,completeHandler);
fileRef.removeEventListener(Event.COMPLETE,completeHandler);
}
I want the event to be dispatched only once when both of the fileRef and fileBigRef are complete transfered. Any ideas?? My brain is fry now and can't think of anything..... Thanks for the help.
For a quick and dirty solution, how about defining a counter that increments each time completeHandler
is fired. Once the counter reaches the number of files you're expecting (sounds like you're expecting 2), you fire your addInfoDone
event:
var fileRefCounter:Number = 0;
function completeHandler(event:Event):void{
fileRefCounter++;
if(fileRefCounter == 2)
{
// both files have downloaded; fire your custom event, or whatever
}
}
精彩评论