2015-01-28 18 views
9

Flux mimarisiyle tepki alıyorum. Bildiğim kadarıyla anladığım kadarıyla, EventEmitter ve Facebook'un memuru ortak bir yeri vardırEventEmitter ile facebook dağıtıcısı

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

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

:
Ben Store'u tanımlamak için, ben böyle bir şey yapmak zorunda web üzerinde okudum. Örneğin, her ikisi bir olay yayınlayabilir (veya gönderebilir).
Sorumu neden hem EventEmitter hem de dispatcher'a ihtiyacım var? Bu gereksiz değil mi? Ayrıca, EventEmitter gerekli davranışını içeren bir dağıtım programı oluşturmak daha iyi olmaz mı?

+0

Tam da düşündüğüm şey! – Michelle

+0

@PineappleUndertheSea: Bir sonuca vardın mı? :) – Naor

cevap

4

Dispatcher, beklemeden bir eylemi yanıtlamak üzere başka bir mağazanın güncellendiğinden emin olmak için beklemede olan en önemli not olan EventEmitter'da beklenmeyen veya beklenmeyen bir işleve sahiptir.

Desen bilge, Dispatcher da bir tekil, EventEmitter ise birden çok mağazaya atayabileceğiniz bir API'dir.

Elbette, her iki amaca hizmet etmek için kendi karma sınıfınızı oluşturabilirsiniz. Facebook Flux dağıtıcısı bir referans uygulamasıdır :)

İlgili konular