2009-10-14 61 views
1

我有一個類的構造函數,做某種邏輯:在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方法之前執行。

回答

2

簡單。不要在構造函數中觸發事件。構造對象,掛起你的監聽器,然後調用一個包含事件觸發代碼的初始化方法。

編輯:或者,如果您絕對必須,作爲參數傳遞給構造函數的回調方法,並在構造函數中添加偵聽器。

我更喜歡前一種方法,因爲它較少混淆。

+0

太簡單/愚蠢。謝謝! – Timmy 2009-10-14 21:53:11

相關問題