Callback é um ponteiro de função.

O que vai acontecer aí?

1) Você chama o método.
2) O método desabilita a aplicação (tipo um Aguarde, processando...)
3) O método chama o Web Service e retorna imediatamente nada para você.
4) Quando o Web Service retornar, você pega o resultado e chama o callback com o teu boolean.
5) Teu aplicativo continua a processar a partir dai.

Lembre-se que Flex é assíncrono... não dá pra fazer uma operação de I/O com blocking.

Aliás, é exatamente o mesmo processo utilizado para verificar o resultado de um Alert (quando ele possui mais do que um botão e você quer fazer algo dependendo do botão clicado no Alert).

--------------------------------------------------
From: "RafaelViana" <rfl.vi...@gmail.com>
Sent: Tuesday, November 24, 2009 10:41 PM
To: "flexdev" <flexdev@googlegroups.com>
Subject: [flexdev] Re: Função do Flex retornar valor de método do Java?


Não entendi bem o funcionamento, e também não encontrei material na
net além desse link (http://techpolesen.blogspot.com/2007/09/coping-
with-flex-asynchronous-remote_26.html) que também não consegui
entender muito bem.

Adiciono um listener para que quando o resultado fosse carregado eu
chamaria essa função que contém o callback...Mas o que faz esse
callback? Como eu retornaria o resultado desse chamada do serviço ( a
função verificarExistência retorna um valor booleano)?

On 24 nov, 21:52, J.C.Ködel <jcko...@gmail.com> wrote:
Callback:

public function verificarExistencia(callback:Function):void
{
 // Talvez um application.enabled = false e um setBusyCursor aqui
  vendaService.addEventListener(ChamadaCompleta,
function(resultado:Algo):void
  {
    // Habilitar o application e remover o busy cursor
   callback(resultado.algumaCoisa == "Foo");
  });

  vendaService.existeVenda();

}

--------------------------------------------------
From: "RafaelViana" <rfl.vi...@gmail.com>
Sent: Tuesday, November 24, 2009 9:48 PM
To: "flexdev" <flexdev@googlegroups.com>
Subject: [flexdev] Função do Flex retornar valor de método do Java?





> Tenho uma função que me retorna um valor booleano se já existe uma
> venda para determinado cliente.Essa função era feita na parte do
> ActionScript mas surgiu a necessidade de fazer no back-end para
> melhorar perfomance.

> Porém não consegui pensar uma maneira para essa função retornar a
> resposta já que depende do result..

> Ex:

> public function verificarExistencia():Boolean{

> vendaService.existeVenda();

> return ???

> }

> Preciso para fazer algo assim: if (verificarExistencia()) ....

> só que a chamada ao serviço depende do result.....pensei em fazer por
> evento, ou ficar esperando e quando o valor for modificado eu retorno
> o valor, mas de qualquer maneira não tenho como retornar por esse
> método...

> Alguém saberia algo para me ajudar?

> >


 smime.p7s
6KExibirDownload

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to