现在我正在尝试了解Flex如何与Java协同工作(Flex - > BlazeDS - > Java)。 我试着遵循THIS教程,一切正常,我只是不明白为什么我们需要这样调用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")
由于
答案 0 :(得分:3)
能够处理服务器滞后和其他异常情况。如果您刚刚调用该方法,您的UI将在服务器传输时间内冻结。通过回调,UI可以继续处理事件,直到收到数据并准备好查看。
答案 1 :(得分:0)
根据成功或错误,有两个单独的方法将允许您的程序在服务器以某种方式出错时做出不同的反应。