Actionscript 3 AS3访问依赖于URLLoader的类属性

Actionscript 3 AS3访问依赖于URLLoader的类属性,actionscript-3,urlloader,Actionscript 3,Urlloader,我在AS3中遇到了一些问题。例如,我有两个类Car.as和ReadXML.as,如下所示: Car.as public class Car{ public function get price():String{ var priceXML:ReadXML = new ReadXML('price.xml'); return priceXML.file; } } public class ReadXML{ public var file:XML;

我在AS3中遇到了一些问题。例如,我有两个类
Car.as
ReadXML.as
,如下所示:

Car.as

public class Car{

    public function get price():String{
      var priceXML:ReadXML = new ReadXML('price.xml');
      return priceXML.file;
    }
}
public class ReadXML{
    public var file:XML;
    public var loader:URLLoader;

    public function ReadXML(fileName:String):void{
        loader = new URLLoader();
        loader.addEventListener(Event.COMPLETE, _loadComplete);
        loader.load(new URLRequest(fileName));
    }

    private function _loadComplete(e:Event):void{
        file = new XML(loader.data);

        loader.removeEventListener(Event.COMPLETE, _loadComplete);
    }
}
ReadXML.as

public class Car{

    public function get price():String{
      var priceXML:ReadXML = new ReadXML('price.xml');
      return priceXML.file;
    }
}
public class ReadXML{
    public var file:XML;
    public var loader:URLLoader;

    public function ReadXML(fileName:String):void{
        loader = new URLLoader();
        loader.addEventListener(Event.COMPLETE, _loadComplete);
        loader.load(new URLRequest(fileName));
    }

    private function _loadComplete(e:Event):void{
        file = new XML(loader.data);

        loader.removeEventListener(Event.COMPLETE, _loadComplete);
    }
}
但当我尝试访问price属性时

var carObj:car = new Car();
trace(carObj.price)

它返回null,我认为这是因为
urloader
尚未完成。那么,什么是替代方案或解决方案呢?谢谢

我认为每次要检查实例的“price”属性时都要加载一个XML文件是个问题。

我建议加载XML文件作为应用程序初始化的一部分,并将_loadComplete函数作为初始化的一部分;加载XML后,您的应用程序可以继续并实例化任意数量的“new Car()”——如果预加载XML,则无需延迟。

谢谢您的回答!我以后再试试