2012-03-29 5 views
0

私はデータプロキシで検索しているWebサービスを持っています。 このWebサービスでは、私は呼び出して結果を変数に割り当てるのが好きです。actionscript Webサービスイベントが遅くに発生します

私はこれにいくつかの例を見つけましたが、私が思いついたのは以下のとおりです。

私のイベント以外のすべての作品は、プロセスの後半に向けて解雇されています。私が意味することは、getAdData()関数を呼び出してから、Webサービス関数getBleedAt()を呼び出した後です。何が起こったのかは、ホールドルーチンの最後にイベントが発生しているので、私はデータを遅く取得します。

dispatchEventを使用しようとしましたが、動作させることができません。 Webサービス機能は、Webサービスの呼び出し

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()); 
    } 

答えて

0

XML構造を返して、あなたの結果ハンドラ(GetInfoはメソッドが)結果データが使用可能である最も早い時点であるので、非同期的に返します。したがって、結果データにアクセスする必要のあるコードは、GetInfoメソッドからトリガする必要があります。

+0

okここではいくつかの再設計が必要です。これは非常に感謝しています。私はカスタムイベントを探していましたが、どのようにトリガをかけることができました。しかし、私はこれを再加工できます。 – Mike

+0

カスタムイベント(特に、Webサービスのリターンに反応する別のクラスのインスタンスが必要な場合)は、GetInfoメソッドから行う必要があります。 Webサービスコールの結果をカスタムイベントのプロパティとして含めることも意味があります。 –

+0

OK私はこれを調べます私は私が使っているものを持っています。 – Mike

関連する問題