노드는 대부분 이벤트를 기반으로 하는 비동기 방식으로 처리
EventEmitter
event emitter를 상속받아 on(), emit()메소드를 이용하여 상태 및 결과 전달
on(event, listener), 지정한 이벤트의 리스너를 추가
once(event, listener), 지정한 이벤트의 리스너를 추가(최초 1회만 실행)
removeListener(event, listener), 리스너 제거
emit(event, param), 지정한 이벤트로 param 전달
main.js
var Calc = require('./calc3'); //calc3.js의 객체 호출 var calc = new Calc(); calc.emit('stop'); /* 3.지정한 이벤트로 param전달 */ console.log(Calc.title + '에 stop 이벤트 전달함');
calc3.js
var util = require('util'); //객체 호출 var emitter = require('events').EventEmitter; //객체 호출 var Calc = function(){ var that = this; that.on('stop', function(){ /* 1.이벤트 리스너 등록 */ console.log("Calc에서 stop event 전달됨"); }); }; util.inherits(Calc, emitter); /* 2.Calc를 emitter에 상속시킴 */ Calc.prototype.add = function(a, b){ //prototype 속성 및 값 추가 return a + b; }; module.exports = Calc; //main에서 호출할 수 있도록 지정 module.exports.title = 'calculator';
결과
반응형
'학습 log (이론) > node.js' 카테고리의 다른 글
'노드의 기본' 알아보기 #파일편3 (0) | 2016.10.22 |
---|---|
'노드의 기본' 알아보기 #파일편2 (0) | 2016.10.21 |
'노드의 기본' 알아보기 #파일편1 (0) | 2016.10.21 |
'노드의 기본' 알아보기 #모듈편 (0) | 2016.10.21 |
' Module' 사용하기 (0) | 2016.10.13 |