Flex - URLLoader - 我可以在加载事件后添加eventListener吗? (似乎工作)

时间:2013-04-19 18:20:12

标签: 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.IO_ERROR, errorHandler);

URLloader会在您使用URLRequest创建后立即执行 我的问题是我在该语句之后添加了一个eventlistener,它当前捕获了Event.Complete事件,将来还会继续工作吗?还是应该在调用load之前添加eventListeners?

1 个答案:

答案 0 :(得分:1)

如果您对此感到担心,请不要加载构造函数。构造函数中的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 );

这是我处理所有URLLoader的方式。我喜欢完全控制我的代码,所以不在构造函数中设置URLRequest让我可以在我选择时自由调用load(),并在加载开始之前给我选项来添加事件监听器。事实上,URLLoader允许在构造函数中自动加载的事实总是令我感到困惑。它完全违背了Adobe在整个SDK中处理构造函数的方式。