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

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

Antworte allen(2)
迷茫

EventEmitter 解决的问题就是时间的发布者不需要关心谁监听这个事件,事件的监听者也不关心谁发出这个事件,只要它们在同一个 EventEmitter 对象上进行 emit 和 on 即可。这样的设计会显著地减少事件的发布者和监听者之间的联系,从而降低复杂度。

迷茫
  1. 当你的事件发送方和消费方都在同一个模块中,不需要通知其它模块或其它模块也关心其中的事件时,用callback就可以把事件发送/监听的事做完了

  2. 而使用EventEmitter的目的在于减少模块之间的耦合度
    模块之间关注EventEmitter而不是去关注事件是由哪个模块发送出来的;同时发送Event的模块也不关心我发出的事件有没有响应,有没有模块需要这个事件,这就能做到模块的职责明确,每个模块只处理自己该完成的工作

  3. 如果简单的execute callback的话,那么发送事件/产生事件的一方必须知道我要把事件发给谁,调用哪个模块的callback。而每当有一个新的模块需要这个事件通知时,必须在发送事件方修改,而消费事件方并不能做什么

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage