학습 log (이론)/node.js
'노드의 기본' 알아보기 #이벤트편
abbear25
2016. 10. 21. 16:40
노드는 대부분 이벤트를 기반으로 하는 비동기 방식으로 처리
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';
결과
반응형