kuanhsuh
8/29/2017 - 3:42 AM

react event emitter

react event emitter

var EventEmitter = {
    _events: {},
    dispatch: function (event, data) {
        if (!this._events[event]) return; // no one is listening to this event
        for (var i = 0; i < this._events[event].length; i++)
            this._events[event][i](data);
    },
    subscribe: function (event, callback) {
      if (!this._events[event]) this._events[event] = []; // new event
      this._events[event].push(callback);
    },
    unSubscribe: function(event){
    	if(this._events && this._events[event]) {
    		delete this._events[event];
    	}
    }
}

EventEmitter.dispatch('tasksDetailEmit', _state); // store _state

//subscribe get_data outof eventemitter
    EventEmitter.subscribe('tasksEmit', function(data){
      me.setState({
        first: true,
        loading: true,
        page: 1,
        tasks:data,
        isCancel: data.isCancel
      },me.getDataFromServer); 
    });