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 で作成するとすぐに実行されます。
私の質問は、そのステートメントの後に eventlistener を追加していることです。現在、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 );

これが私がすべてURLLoaderの s を処理する方法です。私は自分のコードを完全に制御したいので、コンストラクターで URLRequest を設定しないことで、必要に応じて を自由に呼び出すことload()ができ、ロードが開始する前にイベント リスナーを追加するオプションも与えられます。URLLoader がコンストラクターでの自動読み込みを許可しているという事実は、正直なところ、常に私を困惑させてきました。これは、アドビが SDK 全体でコンストラクターを処理する方法に完全に反します。

于 2013-04-20T00:39:54.237 に答える