【问题标题】:Loading from 2 urlloaders in an order and maintaining the flow in FLEX按顺序从 2 个 urlloader 加载并在 FLEX 中保持流程
【发布时间】:2011-04-07 09:59:03
【问题描述】:

我有一个 flex 应用程序,在创建完成时我调用一个方法,在该方法中我需要从 server.only 加载两个 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 块中,我将使用它们,当它执行时,有时变量没有正确加载。

【问题讨论】:

  • 为什么不在 loadXML2 中开始“一些伟大的工作”?
  • 是的,这是一个很好的解决方案.. 谢谢不要我错过了这个角度

标签: apache-flex events event-handling synchronous flow


【解决方案1】:

试试这个:

    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
}

【讨论】:

  • 感谢您的时间和建议,我已经为该类定义了一个事件侦听器,每当我完成加载 xml2 时,我都会对事件产生影响,以便可以在事件调度上完成一些伟大的工作。
  • 我认为这与我上面的代码相同。当 xml2 完成加载时,它会触发 loadXML2(可能不是最好的函数名称,但复制得很快)。所以最终结果是链接加载了 2 个 xml 文件,然后在第二个结束时,SOMEGREATWORK 开始了。当然,您还需要放入错误处理程序,以便您的链可以在 xml 由于某种原因未加载时做出适当的响应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 2021-10-19
  • 2010-09-21
  • 2010-10-15
相关资源
最近更新 更多