flex,blazeds模式,调用服务端方法
flex,blazeds模式,分页逻辑,调用服务端2个方法,以及计算总记录的方法,我发现flex脚本函数中分别执行:fService.getPageFileList(pa...
flex,blazeds模式,分页逻辑,调用服务端2个方法,以及计算总记录的方法,我发现flex脚本函数中分别执行:
fService.getPageFileList(pagerVO);//fService是远端的RemoteObject fService,getPageFileList是服务端的方法
fService.addEventListener(ResultEvent.RESULT,getRomoteData,false);
fService.getRecordCount();
fService.addEventListener(ResultEvent.RESULT,getRecordCount,false);
这样是返回不了的。把后面两端去掉就可以了。这是为什么呢?请问有什么办法解决这个问题? 展开
fService.getPageFileList(pagerVO);//fService是远端的RemoteObject fService,getPageFileList是服务端的方法
fService.addEventListener(ResultEvent.RESULT,getRomoteData,false);
fService.getRecordCount();
fService.addEventListener(ResultEvent.RESULT,getRecordCount,false);
这样是返回不了的。把后面两端去掉就可以了。这是为什么呢?请问有什么办法解决这个问题? 展开
展开全部
首先,这个我没有用过as的方式调用....但是在mxml里面使用RemoteObject调用的话,需要指定调用的函数名,针对不同的函数来处理ResultEvent,例如
<s:RemoteObject id="gerenInfoGetter" destination="remoteDataProvider">
<s:method name="函数名1" result="数据取得处理1" fault="错误处理1"/>
<s:method name="函数名2" result="数据取得处理2" fault="错误处理2"/>
</s:RemoteObject>
我觉得你的代码可能就是因为没分别指定函数名,重复添加了事件监听导致的,可以试试看用fService1,fService2分别对应一个函数调用,如果能解决问题,那就是没指定函数名导致的问题
<s:RemoteObject id="gerenInfoGetter" destination="remoteDataProvider">
<s:method name="函数名1" result="数据取得处理1" fault="错误处理1"/>
<s:method name="函数名2" result="数据取得处理2" fault="错误处理2"/>
</s:RemoteObject>
我觉得你的代码可能就是因为没分别指定函数名,重复添加了事件监听导致的,可以试试看用fService1,fService2分别对应一个函数调用,如果能解决问题,那就是没指定函数名导致的问题
追问
函数名分别调用的,由于flex都是异步调用 的,这里同时调用了两个远程方法,我怀疑是这里注册了2个ResultEvent.RESULT重复的监听了,只不过回调的函数不一致而已。
或者你能想到其他方式,初始化的时候调用两个远程方法,两个方法都有返回的数据的,这个怎么设计呢?
追答
我觉得as脚本里面应该也能对不同的函数进行响应的吧...不过我不会就是了=。=
你可以试试看,弄一个和fService一样destination的fService1,然后
fService.getPageFileList(pagerVO);
fService1.getRecordCount();
再分别监听看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询