Actionscript 3.0: Как обмениваться данными между главным окном и всплывающим окном, пока главное окно не получит ответ на вход сервера

Мы работаем над проектом, в котором мы разрабатываем графический интерфейс в сценарии действия 3.0.

Экран входа выполнит http-вызов с сервером opensso для аутентификации, и если вход не удастся, должно появиться всплывающее окно с ошибкой.

Теперь проблема в том, что иногда аутентификация занимает много времени, и конечный пользователь не знает ситуацию. Итак, он снова нажимает кнопку ВХОД. Таким образом, клиент хочет другое всплывающее окно, которое должно отображать только WAIT, пока сервер не отправит ответ на вход.

Это наш метод ssoAuthenticate —

private function ssoAuthenticate():void
{
    var loaderUrl:String = FlexGlobals.topLevelApplication.loaderInfo.url;
    var myLoadBaseUrl:LoadBaseUrl = new LoadBaseUrl();
    var ssoBaseUrl:String = myLoadBaseUrl.getSSOUrl();
        
    var url:String = ssoBaseUrl.concat("opensso/json/authenticate");
    var srv:HTTPService = new HTTPService();
    srv.url = url;
    srv.method = "POST";
    srv.contentType = "application/json";
    srv.headers  = {
        "X-OpenAM-Username": userName,
        "X-OpenAM-Password": password,
        "Content-Type": "application/json"
    }
    var data:Object = new Object();
    srv.resultFormat = "e4x";
    srv.addEventListener(ResultEvent.RESULT, authenticateSuccess);
    srv.addEventListener(FaultEvent.FAULT, authenticateFailed);         
    srv.send("{}");
}

Как мы можем это сделать? Как мы можем добавить еще одно всплывающее окно WAIT в этот код? И это всплывающее окно должно исчезать всякий раз, когда с сервера возвращается событие ResultEvent.RESULT.

Любой указатель будет высоко оценен. Спасибо

Класс LocalConnection разработан именно для этой единственной цели: разрешить взаимодействие нескольких SWF-приложений, работающих на одном устройстве: help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/‌​…

Organis 21.12.2020 10:07
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда ваш пользователь нажимает кнопку входа в систему, вызывает login.removeEventListerner(MouseEvent.CLICK,ssoAuthenticate), пока ResultEvent.RESULT не вернется с вашего сервера также для лучшего UX вы можете показать видеоролик загрузчика или диалоговое окно прогресса, подобное этому https://docs.airnativeextensions.com/docs/dialog/progress-dialog

Другие вопросы по теме