Search code examples
actionscript-3addeventlistenerurlrequesturlloader

Combining URLRequest, URLLoader and Complete Event Listener In Actionscript 3.0?


when handling data, i always have to write the following:

var dataSourceRequest:URLRequest = new URLRequest("/path/file.xml");
var dataSourceLoader:URLLoader = new URLLoader(dataSourceRequest);
dataSourceLoader.addEventListener(Event.COMPLETE, handleDataSource);

while i can understand the usefulness of these 2 objects and event listener being separate, since they often work with each other i'd like to know if there is a method that will combine them all? the closest i can get is this, but it's a bit pointless/nesting:

var dataSourceLoader:URLLoader = new URLLoader(new URLRequest("/path/file.xml"));
dataSourceLoader.addEventListener(Event.COMPLETE, handleDataSource);

what i'd really love would be something that automatically combines the URLRequest, URLLoader and completed event listener like this:

var dataSource:Whatever = new Whatever("/path/file.xml", handleDataSource);

Solution

  • No... it's an architectural decision that adobe made and a good one at that. Two two classes do very different jobs and do those jobs well. The event listener allows you to handle the complete event multiple times and so is a lot more flexible than a callback in this instance.

    You could however create a class that wraps all that functionality and works in exactly the way you want it to!