1

现在我正在尝试了解 Flex 如何与 Java 一起工作(Flex -> BlazeDS -> Java)。我尝试按照教程进行操作,一切正常,我只是不明白为什么我们需要以这种方式调用 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>

为什么我们需要使用 Event/ResultEvent 来调用 Java 函数。为什么不只是做这样的事情:

EchoService.echo("hi")

谢谢

4

2 回答 2

3

它是为了能够处理服务器延迟和其他异常情况。如果您只是调用该方法,您的 UI 将在服务器传输期间冻结。通过回调,UI 可以继续处理事件,直到接收到数据并准备好查看。

于 2009-03-18T22:11:56.010 回答
0

如果服务器以某种方式出错,则根据成功或错误拥有两种不同的方法将使您的程序做出不同的反应。

于 2009-03-20T19:11:50.847 回答