flex remote 怎么实现同步
就一个LOGIN 画面, 需要输入 用户名 ,密码 和验证码,验证码需要和后台进行 校验 , 校验失败 往 变量里添加错误信息, 然后判断改变量是否有值. 每次都是 在后台数据还没返回, 就开始执行下面的判断了 . 怎么解决
AJAX 我知道 可以设置同步
FLEX 就不看 remote 里面的参数 都试过.......
PS我FLEX验证是 集成FLEX里的VAILDATE 自定义的,
部分代码如下:
==============================================================================================================
override protected function doValidation(value:Object):Array
{
var s:String = value as String;
results = []; //清空数组
results = super.doValidation(value); //先用继承类中的doValida tion方法验证
if(s!=""){
var ro:RemoteObject = new RemoteObject("validate");
// ro.concurrency="single" //这也是没用的
ro.isValidateCode(s)
ro.addEventListener(ResultEvent.RESULT, isValidateCode);
}
trace("result "); //这里永远是先执行的.......
return results;
}
private function isValidateCode(event:ResultEvent) :void{
var result:Boolean =event.result as Boolean;
if(!result){
//这里永远是晚的
results.push(new ValidationResult(true,"text","validateError", "验证出错,快说真心话"));
trace("error add");
}
}
}
然后我在外面 判断RESULT 永远是错的 悲剧啊
==========================================================================================================
[解决办法]
flex的请求时异步的,别想同步了
[解决办法]
你要把判断代码后后续操作放在isValidateCode()函数里面,或者在isValidateCode再调用实现判断的方法!