![]() |
пока файл не загрузился из функции не возвращался
Есть функция: q=load('file.txt')
в load - происходит простая загрузка файла. Но мне надо, чтобы пока загрузка не законичилось - выхода из load не происходило. Как я понимаю, надо сделать вечный цикл, проверяющий установленна переменная ( конца загрузки или нет ). Но чото не получается - при вечном цикле - FLASH виснет. Можно пример плиз. |
не возможно, такое и не пытайся
|
щас пока юзаю метод - вызов указанной функци после загрузки. но както не красиво это.
|
это очень красиво :) эта фича
|
любой вызов load подписывает некий объект на событие onData
я не знаю потрошков твоего метода, но ты в любом случае юзаешь один из встроенных методов загрузки данных и, соответственно, ты можешь получить событие onData и заюзать. |
Насколько я понимаю - Flash использует асинхронную модель обмена сообщений (что для инета с непредсказуемыми скоростями правильно) поэтому ты делаешь запрос функцией load, когда получишь ответ вызовется функция которую ты указал(или должен указать). А вот дальше можно поступить следуюющим образом - по load запускаешь мувик с таймером - в мувике есть прозрачный бакграунд, который не дает сделать что-либо с нижележащими элементами, на мувике делаешь что-то анимационное, по функции получения результата удаляешь таймер и мувик. т.е. получается что на время получения результата ты лочишь систему.
|
щас думаю, что можно зациклить переход с фрейма на фрейм например: с 5>6 с 6<5 пока не закончиться загрузка - и только тогда выход из цикла фреймов. Причем фреймы вызываются как функции gotoAndStop - что не даст вернуться в вызывающщ функцию. Типа рекурсии... вроде при первом встретившемся RETURN - произойдет выход из всего цикла.
А цикл фреймов вызывается из функции load .=> когда выход из цикла фреймов, тогда и выход из load. или подругому: |
не поможет, я же тебе сказал, такое нельзя сделать, фрейм будет продолжаться (тянуться) до того пока не окончиться стек функций, а если будешь тормозить лупом, то тебе выдаст сообщение, что скрипт работает слишком долго.
Потом все равно подход этот не правильный. есть объект, работающай с сервером через HTTPRequest, послал запрос, подписался на события и жди ответа, не фиг выдумывать всякую чушь. и не надо приводить серверные скрипты как пример. Флэш у нас timeline based - поэтому еще раз - это фича |
| Часовой пояс GMT +4, время: 11:57. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.