-
events모듈웹프로그래밍/node.js 2019. 8. 8. 13:11
미리 이벤트리스너를 만들어두고,
(이벤트 리스너를 특정 이벤트가 발생했을 때 어떤 동작을 할지 정의하는 부분)
예시) 사람들이 서버에 방문(이벤트)하면 HTML 파일을 준다.
const EventEmitter = require('events'); const myEvent = new EventEmitter(); myEvent.addListener('방문', () => { console.log('방문해주셔서 감사합니다.'); }); myEvent.on('종료', () => { console.log('안녕히가세요.'); }); myEvent.on('종료', () => { console.log('제발 좀 가세요'); }); // on과 addEventListener는 같은 기능을 하는 별명이다. myEvent.once('특별이벤트', () => { console.log('한 번만 실행됩니다'); }); myEvent.emit('방문'); //이벤트 호출 myEvent.emit('종료'); myEvent.emit('특별이벤트'); myEvent.emit('특별이벤트');
removeAllListeners를 통해 이벤트를 삭제하는 코드
myEvent.on('계속', ()=> { console.log('계속 리스닝'); }); myEvent.removeAllListeners('계속'); myEvent.emit('계속');
여러개의 이벤트에서 하나의 이벤트만 삭제하는 코드
const callback = () => { console.log('제발 좀 가세요'); }; myEvent.on('종료1', () => { console.log('안녕히가세요.'); }); myEvent.on('종료1', callback); myEvent.removeListener('종료1', callback); myEvent.emit('종료1'); console.log(myEvent.listenerCount('종료1'));
변수로 뺀 다음 삭제를 할 수 있다.
'웹프로그래밍 > node.js' 카테고리의 다른 글
http 모듈 (0) 2019.08.08 예외처리 (0) 2019.08.08 util 모듈 && fs 모듈 (0) 2019.08.07 path모듈 && url모듈 && crypto모듈 (0) 2019.08.07 데이터베이스 (0) 2019.06.04 댓글