我正在使用与Flux架构的反应 我在网上看到,为了定义商店,我必须做类似的事情:
var AppDispatcher = require('../dispatcher/dispatcher'), //facebook's dispatcher
EventEmitter = require('events').EventEmitter,
assign = require('object-assign');
var MyStore = assign({}, EventEmitter.prototype, {
.....
据我了解,EventEmitter和facebook的调度员有很多共同之处。例如,两者都可以发出(或发送)一个事件 我的问题是为什么我需要EventEmitter和调度程序?这不是多余的吗? 创建一个包含EventEmitter所需行为的调度程序是不是更好?
答案 0 :(得分:4)
Dispatcher在EventEmitter中没有提供或预期的功能,最值得注意的是waitFor,它允许商店确保另一个商店在响应行为之前已经更新。
模式方面,Dispatcher也是一个单例,而EventEmitter是一个可以对象分配到多个商店的API。
当然,您可以创建自己的混合类来实现这两个目的。 Facebook Flux调度程序是一个参考实现:)