Node.js 이벤트
Node.js는 이벤트 기반 애플리케이션에 적합합니다.
Node.js의 이벤트
컴퓨터의 모든 작업은 이벤트입니다. 연결이 이루어지거나 파일이 열릴 때와 같습니다.
Node.js의 객체는 파일을 열고 닫을 때 readStream 객체가 이벤트를 발생시키는 것처럼 이벤트를 발생시킬 수 있습니다.
예시
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('The file is open');
});
이벤트 모듈
Node.js에는 "이벤트"라고 하는 내장 모듈이 있습니다. 여기에서 자신의 이벤트를 생성, 실행 및 수신할 수 있습니다.
내장된 이벤트 모듈을 포함하려면 require()
메소드를 사용하십시오. 또한 모든 이벤트 속성과 메서드는 EventEmitter 개체의 인스턴스입니다. 이러한 속성과 메서드에 액세스하려면 EventEmitter 개체를 만듭니다.
var events = require('events');
var eventEmitter = new events.EventEmitter();
EventEmitter 객체
EventEmitter 개체를 사용하여 고유한 이벤트에 이벤트 핸들러를 할당할 수 있습니다.
아래 예제에서는 "scream" 이벤트가 발생했을 때 실행될 함수를 만들었습니다.
이벤트를 발생시키려면 emit()
메소드를 사용하십시오.
예시
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);
//Fire the
'scream' event:
eventEmitter.emit('scream');