HTTPService事件监听器,以便在“启动”时触发某些内容;。“发送”;方法从XML获取数据

HTTPService事件监听器,以便在“启动”时触发某些内容;。“发送”;方法从XML获取数据,xml,apache-flex,events,flex3,httpservice,Xml,Apache Flex,Events,Flex3,Httpservice,大家好 我在使用Flex和XML文件中的远程数据方面做了一些“培训” 这是我的HTTPService <mx:HTTPService id="loginData" url="com-handler/basic.xml" showBusyCursor="true"> </mx:HTTPService> 我有一个按钮,当它点击它的调用函数时,它调用loginda.send,并执行一些IF条件,IF条件依赖于loginda返回的数据 该条件不起作用,因为它在loginda

大家好

我在使用Flex和XML文件中的远程数据方面做了一些“培训”

这是我的HTTPService

<mx:HTTPService id="loginData" url="com-handler/basic.xml" showBusyCursor="true">
</mx:HTTPService>

我有一个按钮,当它点击它的调用函数时,它调用
loginda.send
,并执行一些IF条件,IF条件依赖于
loginda
返回的数据

该条件不起作用,因为它在
loginda.send
旁边被调用,并且.send方法仍然没有从XML文件返回值。但是,如果在第一次单击后的第二次单击它,则if条件有效

因此,为了处理这个问题,我想做一个eventListener,这样当
loginda.send
从XML返回数据时,它就会触发IF条件。但我不知道怎么做


您能帮助我吗?

HTTPService的send方法返回一个AsyncToken,您可以向其中添加响应程序以及任意数据。因此,在按钮的单击处理程序中:

var responder:IResponder = new Responder(myResultFunction, myFaultFunction)
var token:AsyncToken = myService.send();
token.addResponder(responder);
此外,MXML可以声明一个结果处理程序:

<mx:HTTPService id="myService" result="myResultHandler(event)"/>

现在,在myResultFunction中,您可以访问event.token.MyArricryProperty,以便在条件语句或任何您可能需要的内容中使用。

它工作得非常好。我刚刚在结果处理程序中添加了IF条件和plinChristmas。
var responder:IResponder = new Responder(myResultFunction, myFaultFunction)
var token:AsyncToken = myService.send();
token.addResponder(responder);
token.myArbitraryProperty = "Whatever";
token.anotherProperty = someObject;