问题:Flex的后台调用如何同步等待,如何判断请求完成?10
1个回答
展开全部
请求已经发到后台去了,也执行了
_statesService = new URLLoader(); Alert.show("1"); _statesService.dataFormat=URLLoaderDataFormat.TEXT; _statesService.load(new URLRequest(surl));//surl是一个servlet的url Alert.show("2"); requestlocked = true; _statesService.addEventListener(Event.COMPLETE, statesCompleteHandler); _statesService.addEventListener(Event.DEACTIVATE,statesCompleteHandler); //flash.utils.setTimeout(timeFunc,1000,null); //timerNum =0; var t1 :int= flash.utils.getTimer(); var t2 :int= flash.utils.getTimer(); while(t2 < t1 + 1000 * 10 && requestlocked ){ t2 = flash.utils.getTimer(); //Alert.show("请等待..."); } 问题补充:需要增加一点补充
这个方法是一个基础性的方法,需要被另外的方法来调用以获得返回值
而且调用者不是一个,而是好几个
因此上采用定义回调函数的做法比较勉强,代码可读性很差.迫切需要找到一个能够同步调用的方法,在数据读取之前不往下继续进行.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询