How to get associated URLRequest from Event.COMPLETE fired by URLLoader

Posted by matt lohkamp on Stack Overflow See other posts from Stack Overflow or by matt lohkamp
Published on 2010-02-25T23:02:35Z Indexed on 2010/05/05 20:28 UTC
Read the original article Hit count: 260

Filed under:
|
|
|

So let's say we want to load some XML -

var xmlURL:String = 'content.xml';
var xmlURLRequest:URLRequest = new URLRequest(xmlURL);
var xmlURLLoader:URLLoader = new URLLoader(xmlURLRequest);
xmlURLLoader.addEventListener(Event.COMPLETE, function(e:Event):void{
 trace('loaded',xmlURL);
 trace(XML(e.target.data));
});

If we need to know the source URL for that particular XML doc, we've got that variable to tell us, right? Now let's imagine that the xmlURL variable isn't around to help us - maybe we want to load 3 XML docs, named in sequence, and we want to use throwaway variables inside of a for-loop:

for(var i:uint = 3; i > 0; i--){
 var xmlURLLoader:URLLoader = new URLLoader(new URLRequest('content'+i+'.xml'));
 xmlURLLoader.addEventListener(Event.COMPLETE, function(e:Event):void{
  trace(e.target.src); // I wish this worked...
  trace(XML(e.target.data));
 });
}

Suddenly it's not so easy, right?

I hate that you can't just say e.target.src or whatever - is there a good way to associate URLLoaders with the URL they loaded data from? Am I missing something? It feels unintuitive to me.

© Stack Overflow or respective owner

Related posts about actionscript-3

Related posts about flash