Node.js中自定义EventEmitter 的必要性
迷茫
迷茫 2017-04-17 13:08:19
0
2
664
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(2)
迷茫

EventEmitter 解決的問題就是時間的發布者不需要關心誰監聽這個事件,事件的監聽者也不關心誰發出這個事件,只要它們在同一個 EventEmitter 物件上進行 emit 和 on 即可。這樣的設計會顯著地減少事件的發布者和監聽者之間的聯繫,從而降低複雜度。

迷茫
  1. 當你的事件發送方和消費方都在同一個模組中,不需要通知其它模組或其它模組也關心其中的事件時,用callback就可以把事件發送/監聽的事做完了

  2. 而使用EventEmitter的目的在於減少模組之間的耦合度
    模組之間關注EventEmitter而不是去關注事件是由哪個模組發送出來的;同時發送Event的模組也不關心我發出的事件有沒有回應,有沒有模組需要這個事件,這就能做到模組的職責明確,每個模組只處理自己該完成的工作

  3. 如果簡單的execute callback的話,那麼發送事件/產生事件的一方必須知道我要把事件發給誰,呼叫哪個模組的callback。而每當有一個新的模組需要這個事件通知時,就必須在發送事件方修改,而消費事件方並不能做什麼

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板