读书人

flex remote 如何实现同步

发布时间: 2012-02-17 17:50:42 作者: rapoo

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再调用实现判断的方法!

读书人网 >flex

热点推荐