[컴][nodejs] EventEmitter 사용하기

event handler 사용 / event handler routine 만들기 / 이벤트 사용 방법 / 자바스크립트에서 이벤트 사용하기



EventEmitter 사용하기


ref. 1 에 좋은 예제가 있다.

아래는 es2015 버전의 예제이다.


events package 설치

먼저 package 를 설치하자.

npm install events


EventEmiiter 사용

이제 EventEmitter 를 상속받는 MStore 라는 class 를 하나 만들어보자. 굳이 만들지 않고 바로 사용해도 되는데, 여기서는 사용방법을 확인하는 차원이라고 생각하면 된다.

import EventEmitter from 'events'

/*
 ------------------------------------------------------------------------

 Class MStore

 ------------------------------------------------------------------------
*/class _MStore extends EventEmitter{
 
 constructor(){
  super()
  this.EVENT_RECEIVE_ALL = 'recvall';
  this.EVENT_DONE_RECEIVE = 'done-recv';
 }
 emitChange() {
         this.emit(MStore.EVENT_RECEIVE_ALL);
   }

 /**
  * @param {function} callback
  */
 addChangeListener(callback) {
  this.on(MStore.EVENT_RECEIVE_ALL, callback);
 }
 

}
var MStore = new _MStore();  // instance






Reference


  1. atlassianlabs / flux-step-by-step / source / js / stores / OutlineStore.js — Bitbucket

댓글 없음:

댓글 쓰기