0

我有一个 flex 应用程序,在 creationComplete 上我调用一个方法,在该方法中我需要从服务器加载两个 XML 文件。之后我需要继续进行。

目前我正在做以下事情

onCreationComplete = init();    

private function init():void{

    //loading first XML

    urlReq = new URLRequest(PATH_FOR_XML1);
    urlLdr = new URLLoader(urlReq);
    urlLdr.addEventListener(Event.COMPLETE, doEvent);

    //Some other operation  goes here say SOMEGREATWORK    
}

**doEvent method**

private function doEvent(evt:Event):void{

    //Loading the data of XML1 to some variable which i use application wide

    urlReq = new URLRequest(PATH_FOR_XML2);
    urlLdr = new URLLoader(urlReq);
    urlLdr.addEventListener(Event.COMPLETE, loadXML2);
}

private function loadXML2(evt:Event):void{
    //Loading the data of XML2 to the some varibale which i use application Wide
}

我实际上在做的是,一旦完成一个 URL 的加载,我就从它加载数据并从同一方法开始加载第二个 URL 加载器。

但问题是我不希望在将 2 个 XML 加载到应用程序变量之前执行 SOMEGREATWORK 块

因为在 SOMEGREATWORK 块中,我将使用它们,当它执行时,有时变量没有正确加载。

4

1 回答 1

0

尝试这个:

    onCreationComplete = init();


private function init():void{

    //loading first XML

    urlReq = new URLRequest(PATH_FOR_XML1);
    urlLdr = new URLLoader(urlReq);
    urlLdr.addEventListener(Event.COMPLETE, doEvent);

}


private function doEvent(evt:Event):void{

    //Loading the data of XML1 to some variable which i use application wide


    urlReq = new URLRequest(PATH_FOR_XML2);
    urlLdr = new URLLoader(urlReq);
    urlLdr.addEventListener(Event.COMPLETE, loadXML2);

}

private function loadXML2(evt:Event):void{
    //Some other operation  goes here say SOMEGREATWORK
}
于 2011-04-07T20:30:13.613 回答