actionscript 3-AS3-如何确保XML加载



我的代码不需要任何调试,我正在寻找更多的方法。

这是我的问题。我正在开发一个公司仪表板,该仪表板将加载到公司范围内的多台大屏幕电视上。每个屏幕都会加载我的flash应用程序,以显示广泛的信息。这就引出了我的问题。。。XML。

现在,我在开发时在本地运行我的应用程序。一切都很好,即使我在一台电视上测试过,它也运行得很好。然而,在开发这个应用程序之前,我做了另一个"创可贴修复",这是他们在我工作之前的东西。该应用程序运行良好,但可能每周一次加载失败,所有内容都变为空白。在一天的空白信息后,它会重新加载并继续工作。

在我的新应用程序中,我正试图围绕我已经看到的这个问题进行计划。我想做的是尝试加载xml,如果它无法再次尝试相同的函数3次。如果它失败了3次,那么它应该被破坏。:)

对我来说,这听起来像是一个try/catch语句,但我似乎无法让它按我想要的方式工作。我觉得这件事我想得太多了。

function loadXML ()
    var i:Number = 0;
    do {
        try{
            XMLLoader.load(new URLRequest("myXMLURL"));
        } catch (error:Error) {
            i++
          }
        }
    while(i < 3)
}

任何反馈或任何其他确保xml不会失败的方法都将不胜感激。感谢

与其使用这样的循环,不如使用在IOErrorEvent等情况下调度的内置事件。

如果在加载XML的URLLoader上附加一个侦听器,则可以在IOErrorEvent处理程序中重试:

function loadXML():void
{
    var ldr:URLLoader = new URLLoader();
    ldr.addEventListener(IOErrorEvent.IO_ERROR, error);
    ldr.load( new URLRequest("document.xml") );
}

function error(e:IOErrorEvent):void
{
    loadXML();
}

以下是URLLoader在类似情况下调度的其他事件的列表。

最新更新