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....@gmail.com>
Sent: Tuesday, November 24, 2009 9:48 PM
To: "flexdev" <fle...@googlegroups.com>
Subject: [flexdev] Função do Flex retornar valor de método do Java?
> --~--~---------~--~----~------------~-------~--~----~
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para fle...@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-u...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
> -~----------~----~----~----~------~----~------~--~---
>
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....@gmail.com>
Sent: Tuesday, November 24, 2009 10:41 PM
To: "flexdev" <fle...@googlegroups.com>
Subject: [flexdev] Re: Função do Flex retornar valor de método do Java?
Só resolvo os problemas conforme eles aparecem e, vez ou outra, acaba caindo
em um pattern conhecido, mas eu não tenho conhecimento dos mesmos.
É só apenas uma das muitas formas de se lidar com um ambiente assíncrono. A
idéia não é uma função que retorne boolean, e sim uma função tua que recebe
um boolean que é chamada quando a coisa toda completa.
--------------------------------------------------
From: "RafaelViana" <rfl....@gmail.com>
Sent: Wednesday, November 25, 2009 12:32 PM