【问题标题】:actionscript web services event fires off to lateactionscript Web 服务事件触发到很晚
【发布时间】:2012-04-13 16:05:27
【问题描述】:

我有一个使用数据代理查找的网络服务。 在这个网络服务中,我有一些我喜欢调用的函数并将结果分配给一个变量。

我在这方面找到了一些例子,下面是我想出的。

现在一切正常,但我的事件在过程后期被触发。我的意思是,一旦我调用 getAdData() 函数,然后调用 webservice 函数 getBleedAt(),我需要触发我的事件。发生的事情是事件在保持例程结束时被触发,所以我的数据迟到了。

我尝试使用 dispatchEvent 但无法让它工作。 Web 服务函数正在返回一个 XML 结构

public function getAdddata(adnum:String){
        var WS:WebService = new WebService();
        WS.getBleedAt.addEventListener("result", GetInfo); 
        WS.getBleedAt.resultFormat = 'e4x'; 
        WS.loadWSDL(URL); 
        WS.getBleedAt(adnum);

    }

    private function GetInfo(evt:ResultEvent):void {

        var myObj:Object = evt.result as Object;
        trace(myObj.BleedAt.toString());
    }

【问题讨论】:

    标签: web-services events actionscript


    【解决方案1】:

    对 Web 服务的调用异步返回,因此您的结果处理程序(GetInfo 方法)是您可以使用结果数据的最早点。因此,任何需要访问结果数据的代码都需要从 GetInfo 方法触发。

    【讨论】:

    • 好的,这里需要进行一些重新设计,非常感谢.. 我正在研究一个自定义事件,我可以用它来触发.. 但我可以重做这个..
    • 您可能仍想触发自定义事件(特别是如果您需要另一个类的实例来响应 Web 服务返回),您只需要从 GetInfo 方法中执行此操作。甚至可以将 Web 服务调用的结果作为自定义事件的属性包含在内。
    • 好的,我看看这个,我正在使用一个,我可以让它按需启动,这对我来说可能会更好,再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2011-06-20
    • 1970-01-01
    • 2013-05-08
    相关资源
    最近更新 更多