Apache flex 为什么对象属性为空?
下面是我的类,它只读取一个xml文件并以e4x格式提供内容。不幸的是,在构造函数执行并将Apache flex 为什么对象属性为空?,apache-flex,actionscript-3,Apache Flex,Actionscript 3,下面是我的类,它只读取一个xml文件并以e4x格式提供内容。不幸的是,在构造函数执行并将xmlProperties属性设置为预期值后,它将变为null。有人知道我做错了什么吗 public class WebService { private var _propertiesReader:HTTPService; private var _xmlProperties:XML; public function WebService() {
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;
}
}
\u xmlProperties
正在通过文件加载调用(通过回调事件)进行设置。它不是直接在构造函数中设置的
在检查
\u xmlProperty
的值之前,是否确实正在等待调用完成并触发回调事件?是否有方法同步回调?目前,我实例化了该类,然后立即尝试检索_xmlProperty。@tommac:您应该侦听该事件,并仅在事件触发后使用它。这就是基于事件的编程工作原理。@Matti:问题就在这里;如果我要监听触发的事件,我会将这个类耦合到我调用它的任何类/脚本。我的目标是封装对属性文件的读取。@tommac:公开事件不会将任何内容强耦合在一起,因为您可以从任何地方侦听事件。