0
下面是我的课,它只是读取一个xml文件并提供e4x格式的内容。不幸的是,在构造函数执行并将xmlProperties
属性设置为期望值后,它会变为null。任何人都知道我在做什么错了?为什么对象属性为空?
public class WebService
{
private var _propertiesReader:HTTPService;
private var _xmlProperties:XML;
public function WebService()
{
_propertiesReader = new HTTPService();
_propertiesReader.url = "../resources/properties.xml";
_propertiesReader.resultFormat = "e4x";
_propertiesReader.contentType = "application/xml";
_propertiesReader.addEventListener(ResultEvent.RESULT, function(event:ResultEvent):void
{
_xmlProperties = XML(event.result);
});
_propertiesReader.addEventListener(FaultEvent.FAULT, function(event:FaultEvent):void
{
Alert.show("Unable to load properties content: " + event.fault.message + "\nPlease try again later.", "Properties File Load Error");
});
_propertiesReader.send();
}
public function get xmlProperties():XML
{
return _xmlProperties;
}
}
有没有一种方法来同步回调?目前,我实例化类,然后立即尝试检索_xmlProperty。 – tommac 2010-09-20 15:57:31
@tommac:您应该倾听事件,并在事件发生后才使用它。这是基于事件的编程的工作原理。 – 2010-09-20 16:45:15
@Matti:有麻烦了;如果我要倾听事件的发生,我会将这个类与我称之为的任何类/脚本耦合起来。我的目标是封装从属性文件中读取。 – tommac 2010-09-20 17:15:59