0

我正在执行以下代码

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 创建后立即执行。
我的问题是我在该语句之后添加了一个事件监听器,它当前捕获 Event.Complete 事件,这将在未来继续工作吗?还是应该在调用加载之前添加 eventListeners?

4

1 回答 1

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 );

这是我处理所有URLLoaders 的方式。我喜欢完全控制我的代码,所以不在构造函数中设置 URLRequest 让我可以自由地load()在我选择时调用它,并让我可以选择在加载开始之前添加事件侦听器。老实说,URLLoader 允许在构造函数中自动加载的事实一直让我感到困惑。这完全违背了 Adob​​e 在整个 SDK 中处理构造函数的方式。

于 2013-04-20T00:39:54.237 回答