Apache flex Flex RemoteObject同步调用
在下面的代码中,当我从另一个函数调用chkAuthentication函数时,Apache flex Flex RemoteObject同步调用,apache-flex,Apache Flex,在下面的代码中,当我从另一个函数调用chkAuthentication函数时,remoteObj.login(我的服务文件(.php)中的login函数)在该函数中剩余的代码之后调用。即,在调用结果处理函数loginResult之前,从该函数返回loginStatus。但是我的loginStatus应该在loginResult函数中设置。异步行为似乎是罪魁祸首。我应该怎么做才能首先完成loginResult函数 请帮帮我。多谢各位 private var loginStatus:Bool
remoteObj.login(我的服务文件(.php)中的login函数)在该函数中剩余的代码之后调用。
即,在调用结果处理函数loginResult之前,从该函数返回loginStatus。但是我的loginStatus应该在loginResult函数中设置。异步行为似乎是罪魁祸首。
我应该怎么做才能首先完成loginResult函数
请帮帮我。多谢各位
private var loginStatus:Boolean;
public function chkAuthentication(loginVOObj:LoginVO):String{
remoteObj.login.addEventListener(ResultEvent.RESULT,loginResult);
remoteObj.login(loginVOObj);
if(loginStatus == true){
return displayName;
}
else{
return 'fail';
}
}
private function loginResult(result:ResultEvent):void
{
if(result.result == null){
loginStatus=false;
}else{
loginStatus=true;
}
}
chkAuthentication方法不应返回字符串,因为它是异步的。相反,只需创建一个实例变量并在loginResult方法中设置其字符串值。然后,您可以使用绑定或分派事件来更新UI。前面的答案是正确的,而不是依赖服务来同步操作,这在flex中是罕见的,除了性能问题之外,您应该使用loginResult函数将登录状态存储在此对象或用于存储应用程序状态的对象中。然后,使用数据绑定控件显示它:
请详细说明如何使用装订?