取消POST请求

时间:2015-06-19 10:29:15

标签: actionscript-3

我有一个应用程序向服务器发出请求以生成音频文件,而我遇到的问题是,如果我发送两个不同的连续请求,我就无法取消第一个请求。我尝试使用.unload或.unloadAndStop,但总是给我错误。

有什么建议吗?

        elfich="sonido" + elfichnum;
        var request:URLRequest = new URLRequest();
        var variables:URLVariables = new URLVariables(); 
        var loader:URLLoader = new URLLoader();
        variables.text=caja_texto;
        variables.fileName=elfich;
        request.url = "http://192.168.0.19:800/cgi-bin/tts.cgi";
        request.method = URLRequestMethod.POST;
        request.data = variables;
        loader = new URLLoader();
        loader.dataFormat = URLLoaderDataFormat.BINARY;
        loader.addEventListener(Event.COMPLETE, cargacompletanew);
        loader.addEventListener(IOErrorEvent.IO_ERROR, onErrornew);
        loader.load(request);
    }

    function cargacompletanew(event:Event):void
    {
        xlocalSound = new Sound(); 
        var xreq:URLRequest = new URLRequest("http://192.168.0.19:800/output/" + elfich + ".mp3"); 
        xlocalSound.load(xreq);
        xlocalSound.addEventListener(Event.OPEN, iniciarSonido);

    }

1 个答案:

答案 0 :(得分:0)

怎么样?
loader.removeEventListener(Event.COMPLETE, cargacompletanew);
loader.removeEventListener(IOErrorEvent.IO_ERROR, onErrornew);
loader.close();

我认为close()如果您在没有加载任何内容的情况下尝试关闭它,则会出现问题,所以我尝试将该文件放入try / catch块。

try 
{
  loader.close();
}
catch(e:Error) 
{
  loader("Oh noes!");
}