0

在我尝试学习弹性远程处理时,我遇到了这个

flexService.getRules.addEventListener(ResultEvent.RESULT, loadRules);

这里 flexService 是一个远程 java 对象。在上面的函数调用中,任何人都可以帮助我知道何时会发生 ResultEvent.RESULT。在研究 AS 文档中的 ResultEvent 时,它声明为

指示 RPC 操作已成功返回结果的事件

所以请记住,我的猜测是 ResultEvent 将在 flexService.getRules 方法成功返回对象列表时被触发,其中 flexService 是远程类 FlexService 的对象,具有返回对象列表的 getRules 函数,谁能告诉它到底是怎么回事工作..还有人可以告诉我如何将eventListener添加到对象列表中

PS:我使用 Spring 作为后端

4

2 回答 2

0

我将继续假设,因为您显然不热衷于显示更多代码或提供相关信息。

  • 我假设“flexService”是一个RemoteObject已经设置了所有必需属性(目的地、端点等)的
  • 我假设“getRules”是您的 java 远程类上的一个可用函数,它返回所需的信息。
  • 我假设所有内容都是使用 AMF 发送的。

在这种情况下,就像这样做一样简单:

var token:ASyncToken = flexService.getRules(arg1, arg2);
token.addResponder(new Responder(yourResultFunction, yourFaultFunction));

private function yourResultFunction(data:Object):void
{
   // Do something with data here
}

private function yourFaultFunction(fault:Object):void
{
   // do something if a fault happens
}

当然,这是非常基本的,您应该尝试围绕它实现更好的模式(命令)。

于 2011-08-09T01:43:30.397 回答
0

在这里,您将结果设置为 arraycollection

private function loadRules(event:ResultEvent):void
{
    var list:ArrayCollection = new ArrayCollection();
    list = event.result as ArrayCollection;
}
于 2011-08-08T15:48:47.297 回答