2017-10-30 22 views
1

나는 노드 js에서 이벤트라는 새로운 개념을 배우고있다. 그러나 이것을 사용해야하는 곳을 찾지 못했고, 어떤 실제 시나리오를 원한다면 어떤 기사 나 블로그도 찾을 수 없었다.노드 js에서 eventEmitter를 사용하는 경우는?

var events = require('events'); 
var eventEmitter = new events.EventEmitter(); 

//Create an event handler: 
var myEventHandler = function() { 
    console.log('I hear a scream!'); 
} 

//Assign the event handler to an event: 
eventEmitter.on('scream', myEventHandler); 
eventEmitter.on('test', function(){ 
    console.log("Testing event"); 
}); 

//Fire the 'scream' event: 
eventEmitter.emit('scream'); 
eventEmitter.emit('scream'); 
eventEmitter.emit('test'); 

myEvenHandler()과 같은 간단한 통화 기능으로 같은 것을 얻을 수 있습니까?

답변

1

예, 귀하는 myEventHandler()으로 전화를 걸 수 있지만 순진한 예입니다. 이미 터에서 다른 이벤트를 듣고 싶다고 상상해보십시오. 예를 들어, 몽구스 데이터베이스 라이브러리 :

mongoose.connect(databaseUrl); 

mongoose.connection.on('connected', function() { 
    //connected successfully 
}); 

mongoose.connection.on('error',function (err) { 
    //connection error 
}); 

mongoose.connection.on('disconnected', function() { 
    //disconnected 
}); 

당신은 connect() 방법 3 개 콜백을 전달할 수 있지만 EventEmitter를 사용하여 좀 더 읽을 수있는 코드가 (적어도 나를 위해)하고 여러 리스너를 통해이하실 수 있습니다 신청.