通过设计决策或 Adobe 改变了由 HTTPService 对象触发的 ResultEvent 的内容。
看看下面的例子:
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不起作用。
如果我只想删除 EventListener 我可以将event.target转换为EventDispatcher。但我需要使用来自HTTPService的方法。
那么:如何从 ResultEvent中获取HTTPService实例?
任何帮助,将不胜感激。谢谢!
J。