EventEmitter vs Facebook的调度员

我正在使用Flux架构。
我在网上读过,为了定义Store,我必须这样做:

var AppDispatcher = require('../dispatcher/dispatcher'), //facebook's dispatcher EventEmitter = require('events').EventEmitter, assign = require('object-assign'); var MyStore = assign({}, EventEmitter.prototype, { ..... 

据我所知,EventEmitter和Facebook的调度有很多共同之处。 例如,两者都可以发出(或派发)一个事件。
我的问题是为什么我需要EventEmitter和调度程序? 这不是多余的吗? 创build一个包含EventEmitter所需行为的调度程序是不是更好?

Dispatcher具有在EventEmitter中没有提供或者预期的function,最值得注意的是waitFor,它允许商店在进行之前确保另一个商店已经响应一个动作而被更新。

在模式方面,分派器也是一个单身人士,而EventEmitter是一个API,你可能会将其分配到多个商店。

当然,你可以创build自己的混合类来达到这个目的。 Facebook Flux调度器是一个参考实现:)