Actionscript 3.0:如何在 main window 和 popup window 之间进行通信,直到 main window 获得服务器登录响应

Actionscript 3.0: How to communicate between main window and popup window untill main window gets server login response

我们正在一个项目中工作,我们正在使用 action script 3.0 设计 GUI。

登录屏幕将与 opensso 服务器进行 http 调用以进行身份​​验证,如果登录失败,应显示错误弹出窗口 window。

现在的问题是,有时认证需要很长时间,最终用户并不知道这种情况。所以他再次单击 LOGIN 按钮。所以客户端想要另一个弹出窗口 window 应该只显示 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 从服务器返回时,弹出 window 应该消失。

任何指针将不胜感激。 谢谢

当您的用户单击登录按钮时调用 login.removeEventListerner(MouseEvent.CLICK,ssoAuthenticate) 直到 ResultEvent.RESULT 从您的服务器返回 同样为了获得更好的用户体验,您可以像这样显示加载器动画片段或进度对话框 https://docs.airnativeextensions.com/docs/dialog/progress-dialog