Мне нужно загрузить несколько изображений из ZIP-архива и выполнить некоторые действия после загрузки всех файлов из ZIP-архива. Я использую библиотеку FZip для работы с файлами ZIP. Моя проблема в том, что иногда загрузка всех файлов не происходит.
В этом коде я запускаю процесс загрузки:
loadedImages = zip.getFileCount();
trace("Starting... " + loadedImages);
for (var i:uint = 0; i < loadedImages; i++)
{
var file:FZipFile = zip.getFileAt(i);
// NamedLoader - common flash.display.Loader who remembers the name of the file
var pictLdr:Loader = new NamedLoader(file.filename);
trace("start " + i);
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
pictLdr.loadBytes(file.content, new LoaderContext( false, ApplicationDomain.currentDomain ));
}
private function imageLoaded(e:Event):void
{
// do some actions, like getting file content and store it
trace("Loaded: " + loadedImages);
loadedImages--;
// if all images has been loaded, I show some scene
if (loadedImages == 0)
{
showScene();
}
}
Иногда загружаются не все изображения, и у меня вывод этой трассировки:
Starting... 36
start 0
start 1
start 2
start 3
start 4
start 5
start 6
start 7
start 8
start 9
start 10
start 11
start 12
start 13
start 14
start 15
start 16
start 17
start 18
start 19
start 20
start 21
start 22
start 23
start 24
start 25
start 26
start 27
start 28
start 29
start 30
start 31
start 32
start 33
start 34
start 35
Loaded: 36
Loaded: 35
Loaded: 34
Loaded: 33
Loaded: 32
Loaded: 31
Loaded: 30
Loaded: 29
Loaded: 28
Loaded: 27
Loaded: 26
Loaded: 25
Loaded: 24
Loaded: 23
Loaded: 22
Loaded: 21
Loaded: 20
Loaded: 19
Loaded: 18
Loaded: 17
Loaded: 16
Loaded: 15
Loaded: 14
Loaded: 13
Видно, что все загрузчики запускаются, но не все заканчивают. Никаких исключений не бывает, и это иногда случается. Я не понимаю почему.