У меня есть произвольное количество файлов, которые мне нужно загрузить в приложении AIR.произвольное количество анонимных погрузчиков с индивидуальными данными?
Я хочу перебирать массив объекта File и создавать и запускать Loaders для каждого файла File.url.
Когда все будет готово (событие COMPLETED или IOErrorEvent.IO_ERROR), я хочу где-то набить их данные. Если они терпят неудачу, я хочу сделать отчет об исключении. Я не могу найти способ ссылаться на объект File из прослушивателя событий (конечно, не на IO_ERROR)
Лучшим способом было бы создать отдельные обработчики событий для каждой панели запуска, в которой была бы записана информация о файле «жестко закодированная». По крайней мере, я мог бы использовать саму функцию как индекс к словарю:
foo(fileToLoad : File) : void { var theCompletedHandler : Function = { var theFile : File = completedHandlerLookup[?????? this function ?????]; var theData : ImageData = new ImageData(theFile.url, (_loader.content as Bitmap).bitmapData); // do something with the data delete completedHandlerLookup[?????? this function ?????]; delete errorHandlerLookup.findByValue(theFile); // [sic] } var theErrorHandler : Function = { var theFile : File = errorHandlerLookup[?????? this function ?????]; // report the error delete errorHandlerLookup[?????? this function ?????]; delete completedHandlerLookup.findByValue(theFile); // [sic] } completedHandlerLookup[theCompletedHandler] = theCompletedHandler; errorHandlerLookup[theCompletedHandler] = theErrorHandler; var theLoader : Loader = new Loader(); theLoader.addEventListener(Event.COMPLETE, theCompletedHandler); theLoader.addEventListener(IOErrorEvent.IO_ERROR, theErrorHandler); theLoader.load(new URLRequest(fileToLoad.url));
Могу ли я использовать event.currentTaget и использовать экземпляр Loader в качестве индекса? Будет ли это иметь какие-то странные зависимости?
Приветствия
Благодарим вас за внимание к проблеме Loader vs. Loader.loader; он несет постоянное внимание. Я использую анонимные функции, когда они одноразовые и не ссылаются ни на кого. В то время как очередь проще кодировать, удар по производительности может быть значительным, так как ОС может делать много файлов параллельно. Cheers –