Я создаю веб-сайт с помощью Adobe Flash Professional CS5.
Я пытаюсь прочитать содержимое текстового файла с помощью URLLoader.load(path) внутри цикла for.
Путь меняется при каждой итерации. .
Когда я отслеживаю данные из метода обработчика событий, он возвращает только содержимое текстового файла последнего пути.
Кажется, что он вызывает метод обработчика событий только после того, как for завершил цикл.
КОД:
var myData:URLLoader = new URLLoader();
myData.addEventListener(Event.COMPLETE, onLoaded);
function onLoaded(e:Event):void
{
trace(myData.data);
}
for (var o = 0; o < filesArray.length; o++)
{
for (var p = 0; p < filesArray[o].length; p++)
{
if (filesArray[o][p] == "category.txt")
{
path = "C:\\inetpub\\wwwroot\\" + filesArray[o][0] + "\\" + filesArray[o][p];
myData.load(new URLRequest(path));
trace(path);
}
}
}
Это результат:
C:\inetpub\wwwroot\0001\category.txt
C:\inetpub\wwwroot\0002\category.txt
C:\inetpub\wwwroot\0003\category.txt
C:\inetpub\ wwwroot\0004\category.txt
C:\inetpub\wwwroot\0005\category.txt
Ювелирные изделия
Как я уже сказал, «Ювелирные изделия» — это содержимое «C:\inetpub\wwwroot\0005\category.txt».
Я попытался изменить метод onLoaded, чтобы он возвращал такую строку:
function onLoaded(e:Event):String
{
return myData.data.toString();
}
Это внутри цикла for:
trace(myData.load(new URLRequest(path)));
Затем я получил это как мой вывод:
undefined
C:\inetpub\wwwroot\0001\category.txt
undefined
C:\inetpub\wwwroot\0002\category.txt
undefined
C:\inetpub\wwwroot\0003 \category.txt
не определено
C:\inetpub\wwwroot\0004\category.txt
не определено
C:\inetpub\wwwroot\0005\category.txt
Я также пытался преобразовать цикл for в цикл while, результат тот же.
Почему он так себя ведет?
Если метод URLLoader.load не работает внутри цикла for, и я ничего не могу с этим поделать , есть ли другой способ читать простой текст из файлов, например FileStream или что-то в этом роде? (Я новичок в ActionScript, с C#)
Заранее спасибо,
Фредди.