Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

palhuca

Retorno de função com addEventListener

Recommended Posts

boa tarde,

 

estou tentando trabalhar com retorno de retorno de funções, mas não estou conseguindo, eu tenho

 

var retorno:String;

função x():void
{
retorno = resposta();

if(retorno == "nao")
{
	//ações
}
}


function resposta():String
{
rec_res.addEventListener(Event.COMPLETE, busca);

return ?   //a ? deveria ser retorno, mas não sei como funciona essa passagem, se é que as outras estão corretas
}


function busca(event:Event):String
{
if()
{
	retorno = "nao";
}
else
{
	//outras ações
}

return (retorno);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso não tem como fazer dessa forma que você quer, pois o addEventListener é assincrono, quer

dezer que ele pode demorar um pouco para executar, então não dá pra pegar o retorno dele logo que chama

 

você pode mudar a logica e deixar assim:

 

 

var retorno:String;

rec_res.addEventListener(Event.COMPLETE, busca);

função x():void
{  
       if(retorno == "nao")
       {
               //ações
       }
}


function busca(event:Event):String
{
       if()
       {
               retorno = "nao";
       }
       else
       {
               //outras ações
       }

       x();
}

 

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesse caso é melhor abandonar a idéia de retorno e trabalhar somente com a variável global, retorno

 

tive um problema com a função chamada x(); lá embaixo

 

ela não é a única tem y() z()... então tive que fazer mais condições para definir qual função será chamada dependendo da escolha entre elas

 

contudo, resolveu meu problema, se o retorno funcionasse para addEventListener eu não procisaria utilizar tantos ifs

 

eu pensei em colocar um tempo de espera para o retorno do addEventListner, mas, achei inconveniente e duvidoso, não dá pra saber se o tempo de retorno do servidor vai ser rápido e se a espera causaria desconforto

 

obrigado pela explicação

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.