【问题标题】:EventEmitter vs facebook's dispatcherEventEmitter 与 facebook 的调度程序
【发布时间】:2015-03-27 15:40:21
【问题描述】:

我正在使用 Flux 架构的反应。
我在网上读到,为了定义商店,我必须这样做:

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

var MyStore = assign({}, EventEmitter.prototype, {
   .....

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

【问题讨论】:

  • 跟我想的完全一样!
  • @PineappleUndertheSea:你得出结论了吗? :)

标签: javascript node.js reactjs reactjs-flux eventemitter


【解决方案1】:

Dispatcher 具有 EventEmitter 中未提供或预期的功能,最值得注意的是 waitFor,它允许存储确保在执行操作之前已更新另一个存储以响应操作。

在模式方面,Dispatcher 也是一个单例,而 EventEmitter 是一个 API,您可以将对象分配到多个存储。

当然,您可以创建自己的混合类来满足这两个目的。 Facebook Flux 调度程序是一个参考实现:)

【讨论】:

    猜你喜欢
    • 2015-09-06
    • 2015-03-16
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多