바르고 뜨겁게

[NodeJS] events 모듈 본문

자바스크립트/Node Js

[NodeJS] events 모듈

RightHot 2018. 12. 27. 00:07
events 모듈

const EventEmitter = require('events');


const endCallback = ()=>{
   console.log('안녕히 가세요');
}


// 이벤트를 만들 수 있게 해주는 모듈
// myEvent.addListener(이벤트명, 콜백리스너);
const myEvent = new EventEmitter();

// '방문'이라는 이름의 이벤트 생성
myEvent.addListener('방문', ()=>{
   console.log('안녕하세요? xxx 홈페이지 입니다')
});

// addListener = on (같은 기능:별명)
myEvent.on('종료', ()=>{
   console.log('종료 되었습니다');
});

// 같은 이벤트에 여러개의 리스너 가능
myEvent.on('종료', endCallback);

// 한번만 실행됨
myEvent.once('한번실행', ()=>{
   console.log('한번만 실행');
});


// 이벤트 실행
// myEvent.emit(이벤트명);
myEvent.emit('방문');
myEvent.emit('종료');
myEvent.emit('한번실행');
myEvent.emit('한번실행');

// 모든 리스너를 해제할 수 있다.
myEvent.removeAllListeners('방문');
myEvent.emit('방문'); // 실행되지 않음

// 특정 리스너만 해제
myEvent.removeListener('종료', endCallback);
myEvent.emit('종료');

console.log(myEvent.listenerCount('종료'));

안녕하세요? xxx 홈페이지 입니다
종료 되었습니다
안녕히 가세요
한번만 실행
종료 되었습니다
1


Comments