J'ai un tableau d'objets FileReference qui ont plusieurs écouteurs attachés à chacun d'eux, dois-je supprimer chaque écouteur dans sa méthode de gestionnaire, ou dois-je les supprimer tous dans le gestionnaire complet?Flex/AS3: Quand faut-il retirer les écouteurs?
Je lis quelque part d'utiliser des références faibles pour les auditeurs, mais je pense qu'il serait préférable de supprimer explicitement les auditeurs (oui?/Non?)
for each(var f:Object in fileCollection){
var myFile:FileReference = f.file;
myFile.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadCompleteData)
myFile.addEventListener(ProgressEvent.PROGRESS, onProgress);
myFile.addEventListener(IOErrorEvent.IO_ERROR, onError);
myFile.addEventListener(Event.COMPLETE, onComplete);
}
private function onUploadCompleteData(e:DataEvent):void{
// doin my thing here
removeListeners(e)
}
private function removeListeners(e:Event):void{
var myFile:FileReference = FileReference(e.target)
myFile.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadCompleteData)
myFile.removeEventListener(ProgressEvent.PROGRESS, onProgress);
myFile.removeEventListener(IOErrorEvent.IO_ERROR, onError);
myFile.removeEventListener(Event.COMPLETE, onComplete);
}
Votre article de blog a été utile, a également jeté un coup d'œil sur la conversation MAX, merci. – Ronn