2009-03-18 22 views
1

今はFlexがJava(Flex - > BlazeDS - > Java)でどのように動作するかを理解しようとしています。私たちは、Javaを呼び出すためにイベント/ ResultEventを使用する必要がありますなぜFlexのJava関数を呼び出す

<mx:Script> 
    <![CDATA[ 
     import mx.rpc.events.FaultEvent; 
     import mx.rpc.events.ResultEvent; 

     // Send the message in response to a Button click. 
     private function echo():void { 
      var text:String = ti.text; 
      remoteObject.echo(text); 
     } 

     // Handle the recevied message. 
     private function resultHandler(event:ResultEvent):void { 
      ta.text += "Server responded: "+ event.result + "\n"; 
     } 

     // Handle a message fault. 
     private function faultHandler(event:FaultEvent):void { 
      ta.text += "Received fault: " + event.fault + "\n"; 
     } 
    ]]> 
</mx:Script> 

: 私はTHISチュートリアルに従うことを試みたし、すべてが正常に動作し、我々はこのようJava関数を呼び出す必要がなぜ、私は理解していません関数。

EchoService.echo("hi") 

おかげ

答えて

3

これは、サーバーラグやその他の異常な状況に対処できるようにすることです:なぜちょうどこのような何かをしていません。このメソッドを呼び出したばかりの場合、UIはサーバー転送時にフリーズします。コールバックを使用すると、UIはデータが受信され、表示する準備が整うまでイベントを処理し続けることができます。

+0

フレーズの別の方法は、Flash Playerによって実行されるすべてのリモート呼び出しが非同期で行われることです。 –

0

成功または失敗に応じて2つの別々の方法を使用すると、サーバーのエラーが何らかの形で発生した場合、プログラムが異なる反応を起こすことがあります。

関連する問題