![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 13
|
Я столкнулась с проблемой, не могу понять почему вне функции загрузки файла я не могу использовать данные, что я не так делаю? Мне казалось что файл должен сразу загружаться в переменную в начале исполнения программы и потом ее можно будет везде использовать.
var filetext:String = new String; var urlRequest:URLRequest = new URLRequest("text.txt"); var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(event:Event):void { filetext = urlLoader.data; trace(filetext);//выдает все правильно } trace(filetext);//переменная пустая |
|
|||||
|
Потому что загрузка не происходит мгновенно.
|
|
|||||
|
Нет, это не процедурное программирование, здесь не все асинхронно. URLLoader синхронен, то есть он работает как бы в другом потоке, поэтому ваш код не выполняется так, как написан (в смысле поледовательно). Поставьте трейсы с цифрами и убедитесь.
+ да, как сказал bav, опередив меня.
__________________
тут я |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 13
|
тогда можно сделать таким образом или так неграмотно?
|
|
|||||
|
Регистрация: Jun 2012
Сообщений: 70
|
Может наоборот, асинхронен?
Так и делают. Только не забывай удалять слушатели событий и обрабатывать все ошибки связанные с загрузкой.
__________________
Блог: http://devizgl.blogspot.com/ |
|
|||||
|
Цитата:
Цитата:
__________________
тут я |
|
|||||
|
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
синхронно это когда синхронно с тактами процессора
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|