[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/WEB

Node.js - Event Emitter

inu 2020. 12. 10. 21:59
반응형

Event Emitter

const EventEmitter = require('events');

class ChatManager extends EventEmitter {}
const chatManager = new ChatManager();
chatManager.on("join", () => {
    console.log("new user joined");
})
chatManager.emit("join");
  • node.js의 'events' 내장 모듈을 불러와 활용한다.
  • 해당 객체를 extends하여 새로운 클래스를 만든다.
  • 해당 클래스로 만들어진 객체는 on과 emit을 통해 기본적인 Event 소통이 가능해진다.
  • on으로 특정 이름(join)의 이벤트를 생성한다.
  • 이는 emit을 통해 이벤트를 발생시킬 수 있다.
  • 위 코드의 결과로 콘솔에 "new user joined"가 출력될 것이다.

Event Emitter의 각종 메소드

  • eventEmitter.addListener(event, listener) : 이벤트 생성 (=on)
  • eventEmitter.on(event, listener) : 이벤트 생성 (=addListener)
  • eventEmitter.once(event, listener) : 이벤트를 한 번만 연결한 후 제거
  • eventEmitter.removeListener(event, listener) : 특정 이벤트의 특정 이벤트 핸들러를 제거
  • eventEmitter.removeAllListeners([event]) : 모든 이벤트 핸들러를 제거
  • eventEmitter.setMaxListeners(n) : n으로 한 이벤트에 최대허용 개수를 정해줍니다. (기본값 10, 0으로 입력시 제한없음)
  • eventEmitter.emit(eventName[, ...args]) : 이벤트 발생
반응형

'🛠 기타 > WEB' 카테고리의 다른 글

Node.js - express form (body-parser)  (0) 2020.12.15
Node.js - http 모듈  (0) 2020.12.14
Node.js - express 미들웨어  (0) 2020.10.14
Node.js - express view engine (Nunjucks)  (0) 2020.10.13
Node.js - express Router  (0) 2020.10.13