ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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('특별이벤트');

    emit을 통해 이벤트가 실행된 결과
    once를 사용한 것은 여러번 호출해도 한번만 실행된다.

     

    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

    댓글

Designed by Tistory.