在actionscript 3中调度/处理消息的正确方法?

问题描述:

我有一个类的构造函数,做某种逻辑:在actionscript 3中调度/处理消息的正确方法?

public function Constructor() { 
    if some condition { 
     // load some resource from the internet, dispatch message when done 
    } 
    else { 
     // finish up, dispatch message now 
     dispatchEvent(new TestEvent(...)); 
    } 
} 

和一类使用此:

obj = new Constructor(); 
obj.addEventListener(...); // Listens to the above event 

我遇到了麻烦,因为如果“某些条件”不发生时,它立即分派事件,但第二个类不会听到该事件,因为它在addEventListener方法之前执行。

简单。不要在构造函数中触发事件。构造对象,挂起你的监听器,然后调用一个包含事件触发代码的初始化方法。

编辑:或者,如果您绝对必须,作为参数传递给构造函数的回调方法,并在构造函数中添加侦听器。

我更喜欢前一种方法,因为它较少混淆。

+0

太简单/愚蠢。谢谢! – Timmy 2009-10-14 21:53:11