通过设计决定或者什么都不是Adobe更改了由HTTPService对象触发的ResultEvent的内容。HTTPService/ResultEvent与Flex 3.2对比Flex> = 3.5
看看下面的例子:
var httpService:HTTPService = myHTTPServices.getResults();
httpService.addEventListener(ResultEvent.RESULT,resultHandler);
httpService.send();
/**
* Handels the login process
*/
function resultHandler(event:ResultEvent):void
{
// get http service
var httpService = (event.target as HTTPService);
// do something
}
它就像使用Flex 3.2的魅力。但是当我尝试使用Flex 3.5或Flex 4.0 event.target进行编译时,HTTPService为空。
我发现event.target现在是HTTPOperation的一个实例。这很有趣,因为我在langref中找不到HTTPOperation。但是,我认为Flash Builder的调试器的意思是mx.rpc.http.Operation。
调试器也显示,event.target有私人属性的HTTPService这是我期望能获得与event.target实例。但它是私人的,所以event.target.httpService不起作用。
如果我只是想删除事件侦听我可以投event.target作为此事件。但我需要使用HTTPService中的方法。
因此:如何从ResultEvent获得HTTPService实例?
任何帮助,将不胜感激。谢谢!
J.
感谢您的回复!我会等待更多的想法,但我认为我必须保留自己的参考。虽然这将是很多工作! – Julian 2010-06-10 07:59:45