Вызов функций Java во Flex - PullRequest
       18

Вызов функций Java во Flex

1 голос
/ 19 марта 2009

Сейчас я пытаюсь понять, как 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")

Спасибо

Ответы [ 2 ]

3 голосов
/ 19 марта 2009

Это должно быть в состоянии справиться с отставанием сервера и другими аномальными условиями. Если вы только что вызвали метод, ваш пользовательский интерфейс зависнет во время передачи на сервер. С помощью обратного вызова пользовательский интерфейс может продолжать обрабатывать события, пока данные не будут получены и не будут готовы для просмотра.

0 голосов
/ 20 марта 2009

Наличие двух отдельных методов в зависимости от успеха или ошибки позволит вашей программе по-разному реагировать на ошибки сервера.

...