Apache flex event.COMPLETE处理程序问题

Apache flex event.COMPLETE处理程序问题,apache-flex,upload,event-handling,Apache Flex,Upload,Event Handling,我想在两个文件成功下载或上载后发送一个自定义事件。我用 fileRef.addEventListener(Event.COMPLETE, completeHandler); fileBigRef.addEventListener(Event.COMPLETE, completeHandler); 只使用1个处理程序侦听完整事件 function completeHandler(event:Event):void{ var e:Event=new Event("addInfoDone")

我想在两个文件成功下载或上载后发送一个自定义事件。我用

fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileBigRef.addEventListener(Event.COMPLETE, completeHandler);
只使用1个处理程序侦听完整事件

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都完成传输时发送一次。有什么想法吗??我现在脑子里乱七八糟的,什么都想不出来。。。。。感谢您的帮助。

要获得快速而肮脏的解决方案,请定义一个计数器,该计数器在每次触发
completeHandler
时递增。一旦计数器达到您期望的文件数(听起来像是2个),您将触发
addinfo
事件:

var fileRefCounter:Number = 0;

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

我想知道是否还有其他解决方案,比如使用事件属性或其他什么……如果您使用的是URLLoader对象,您可以检查
target
属性,找出哪个对象触发了事件。看看