palhuca 0 Denunciar post Postado Fevereiro 14, 2012 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
Eder Fortunato 15 Denunciar post Postado Fevereiro 15, 2012 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
palhuca 0 Denunciar post Postado Fevereiro 16, 2012 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