在actionscript 3中发送/处理消息的正确方法?

时间:2009-10-14 21:44:43

标签: flash 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方法之前执行。

1 个答案:

答案 0 :(得分:2)

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

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

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