Node.js는 Chrome JavaScript 런타임을 기반으로 구축된 플랫폼입니다.
Node.js는 Google의 V8 엔진을 기반으로 하는 이벤트 중심 I/O 서버 측 JavaScript 환경입니다. V8 엔진은 Javascript를 매우 빠르게 실행하고 성능이 매우 좋습니다.
Node.js 이벤트 이미터 통사론
Node.js의 모든 비동기 I/O 작업은 완료되면 이벤트 큐에 이벤트를 보냅니다.
Node.js의 많은 객체는 이벤트를 생성합니다. net.Server 객체는 새로운 연결이 있을 때마다 이벤트를 생성하고, fs.readStream 객체는 파일이 열릴 때 이벤트를 생성합니다. 이러한 이벤트 생성 객체는 모두 events.EventEmitter의 인스턴스입니다.
Node.js 이벤트 이미터 예
//event.js 파일
var EventEmitter = require('events').EventEmitter; var event = new EventEmitter(); event.on('some_event', function() { console.log('some_event 事件触发'); }); setTimeout(function() { event.emit('some_event'); }, 1000);