Блок Actionscript до завершения запроса - PullRequest
0 голосов
/ 09 февраля 2011

Я хочу сделать синхронный запрос к серверу. Я хочу, чтобы вся программа перестала обрабатывать что-либо, пока запрос не будет выполнен и сервер не ответит; Как правильно это сделать?

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Вы на самом деле не хотите, чтобы вся программа прекратила что-либо обрабатывать, пока сервер не ответит, потому что это рискует, что swf может вызвать предупреждение модального диалогового окна «Сценарий выполнен за 15 секунд», которое появится перед вашим пользователем. в этот момент вы можете также считать свои действия потерянным делом. Обычно это считается «сбоем» и «не очень хорошая идея».

Что вы пытаетесь достичь, что, по вашему мнению, приведет к остановке всего выполнения (включая рендеринг)?

Если вы действительно хотите просто сделать ваше приложение полностью невосприимчивым к пользовательской активности во время запроса, то вам, возможно, удастся сойти с установки значения mouseChildren = mouseEnabled = false в корне приложения. видеоклип. Если вам нужно остановить анимацию на временной шкале, вам придется найти способ глобально найти / остановить их все самостоятельно. Очевидно, что любые события enter_frame, которые вы слушаете, или таймеры, которые вы используете, должны прекратиться, когда вы делаете запрос.

Вы могли бы быть в состоянии обойтись, установив частоту кадров swf в 0fps в вашем коде (это не остановит таймеры, но, вероятно, остановит enter_frames), но если вы пишете третий party party, тогда это определенно разозлит потребителей вашего swf.

0 голосов
/ 09 февраля 2011

Вы не можете (и это, на самом деле, хорошо).Загрузка выполняется внутренним кодом плеера, который не запускается до тех пор, пока не будет завершен код пользователя для фрейма.Вот почему вы можете вызвать Loader.load и добавить прослушиватель событий для COMPLETE позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...