상세 컨텐츠

본문 제목

events 모듈 - Nodejs

Programming/Concept

by 쌩우 2019. 5. 14. 17:50

본문

const EventEmitter = require('events');

const myEvent = new EventEmitter();

myEvent.addListener('방문', () => {
    console.log('방문해주셔서 감사합니다.');
    //res.sendFile(html파일)
})

//.addListener와 .on은 같은 기능이다.
//.on을 쓰는 것이 효율적일 것이다.
//하나의 같은 이벤트에 여러개의 .on을 붙여도 된다.
myEvent.on('종료', ()=> {
    console.log('안녕히가세요.');
})
myEvent.on('종료', ()=> {
    console.log('또 방문해주세요.');
})

//.once는 특정 이벤트에 대하여 한번만 실행된다.
myEvent.once('특별이벤트', () => {
    console.log('한번만 실행된다')
})

//임의로 생성한 이벤트를 호출하는 방법은 .emit
myEvent.emit('방문');
myEvent.emit('종료');
myEvent.emit('특별이벤트');

//.on으로 생성한 이벤트를 한꺼번에 삭제하는 방법 .removeAllListeners
myEvent.removeAllListeners('종료');

//하나의 이벤트에 붙은 여러개의 listenr 중에서 선택하여 삭제하는 방법
//콜백으로 지정되어 있어야 한다.
const callback = () => {
    console.log('반갑습니다')
}
myEvent.on('시작1', () => {
    console.oog('안녕하세요')
})
myEvent.on('시작1', callback);

myEvent.removeListener('시작1', callback);
//callback으로 붙은 listener의 반갑습니다 부분만 삭제될 것이다.

해당 이벤트에 몇개의 Listener가 있는지 궁금하면, "myEvent.listenerCount('시작1')"과 같은 방식으로 하면 된다.

'Programming > Concept' 카테고리의 다른 글

this - Javascript  (0) 2019.05.29
예외(예기치 못한 에러) 처리하기 - Nodejs  (0) 2019.05.14
Buffer & Stream - Nodejs  (0) 2019.05.14
fs 모듈 (동기와 비동기) - Nodejs  (0) 2019.05.14
util(deprecate, promisify) - Nodejs  (0) 2019.05.14

관련글 더보기

댓글 영역