Apache flex Flex-URLLoader-我可以在加载事件后添加eventListener吗?(似乎有效)

Apache flex Flex-URLLoader-我可以在加载事件后添加eventListener吗?(似乎有效),apache-flex,urlloader,Apache Flex,Urlloader,我正在执行以下代码 var myXMLURL:URLRequest = new URLRequest("config.xml"); myLoader = new URLLoader(myXMLURL); // implicitly calls the load method here myLoader.addEventListener(Event.COMPLETE, xmlLoaded); myLoader.addEventListener(IOErrorEvent

我正在执行以下代码

var myXMLURL:URLRequest = new URLRequest("config.xml"); 
    myLoader = new URLLoader(myXMLURL);  // implicitly calls the load method here
    myLoader.addEventListener(Event.COMPLETE, xmlLoaded); 
    myLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
只要您使用URLRequest创建URLloader,它就会立即执行。

我的问题是,我在该语句之后添加了一个eventlistener,它当前捕获该事件。完成事件,这在将来还会继续工作吗?或者应该在调用加载之前添加eventListeners吗?

如果您对此感到担心,请不要在构造函数中加载。构造函数中的
URLRequest
是可选的

这样做:

var myXMLURL:URLRequest = new URLRequest("config.xml"); 
myLoader = new URLLoader();
myLoader.addEventListener(Event.COMPLETE, xmlLoaded); 
myLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
myLoader.load( myXMLURL );

这是我处理所有
urloader
s的方式。我喜欢完全控制我的代码,因此不在构造函数中设置URLRequest让我可以自由地调用
load()
,当我这样选择时,还可以选择在加载开始之前添加事件侦听器。老实说,URLLoader允许在constructor中自动加载的事实一直困扰着我。这完全违背了Adobe在整个SDK中处理构造函数的方式。

我非常确定,在调用load()方法之前,URLLoader不应该加载远程URL;而你没有这样做。根据您提供的代码,我不希望xmlLoaded或errorHandler被执行。也就是说,将事件侦听器添加到类实例中并不重要。如果类分派事件,则应调用事件处理程序方法。@www.Flextras.com请参阅。“如果指定,加载操作将立即开始(有关更多信息,请参阅加载条目)。@Apocalyptic0n3感谢您的更正。