Node.js에서 이벤트는 듣고 실행할 수 있는 작업입니다. 이벤트를 알림 시스템으로 상상해 보세요. 파일 읽기 완료 또는 요청 수신과 같은 문제가 발생할 때마다 Node.js는 사용자가 응답할 수 있는 이벤트를 트리거합니다.
Node.js에는 이벤트라는 모듈이 내장되어 있으며 이 모듈에서 가장 중요한 클래스는 EventEmitter입니다. 이벤트를 정의하고 처리할 수 있습니다.
이벤트 이미터를 생성하는 방법을 살펴보겠습니다.
const EventEmitter = require('events'); const myEmitter = new EventEmitter(); // Register an event listener myEmitter.on('greet', () => { console.log('Hello there!'); }); // Emit the event myEmitter.emit('greet');
이 예에서는 Greeting 이벤트에 대한 리스너를 등록한 다음 이벤트를 내보냈습니다. 결과는 간단한 "안녕하세요!"입니다. 콘솔에 인쇄됩니다.
이벤트를 내보낼 때 인수를 전달할 수도 있습니다. 이는 데이터를 전달해야 할 때 유용합니다.
myEmitter.on('sayHello', (name) => { console.log(`Hello, ${name}!`); }); myEmitter.emit('sayHello', 'Alice');
이제 sayHello 이벤트를 내보내면 Alice에게 인사합니다.
기본 HTTP 서버를 만들고 이벤트가 어떻게 작동하는지 살펴보겠습니다. Node.js에서 http 모듈은 이벤트를 광범위하게 사용합니다. 요청이 서버에 도달할 때마다 이벤트가 트리거됩니다.
const http = require('http'); // Create a server const server = http.createServer((req, res) => { if (req.url === '/') { res.write('Hello World'); res.end(); } }); // Register an event listener for 'request' server.on('request', (req, res) => { console.log(`Received request for ${req.url}`); }); // Start the server server.listen(3000, () => { console.log('Server is running on port 3000'); });
이 예에서는:
특정 작업을 처리하기 위해 서버 코드 내에서 사용자 정의 이벤트를 생성할 수 있습니다. 클라이언트가 연결될 때 맞춤 이벤트를 내보내는 예는 다음과 같습니다.
const EventEmitter = require('events'); const http = require('http'); // Create an event emitter instance const myEmitter = new EventEmitter(); // Create a server const server = http.createServer((req, res) => { res.write('Hello Client'); res.end(); // Emit a custom event on each request myEmitter.emit('clientConnected', req.url); }); // Listen for the custom 'clientConnected' event myEmitter.on('clientConnected', (url) => { console.log(`A client connected to ${url}`); }); // Start the server server.listen(3000, () => { console.log('Server is running on port 3000'); });
이 예에서는:
이벤트는 Node.js의 핵심이며, 특히 서버 컨텍스트에서 비동기 작업을 처리하는 데 강력합니다. 이벤트를 마스터하면 확장 가능하고 효율적인 애플리케이션을 구축하기 위한 강력한 기반을 갖게 됩니다.
읽어주셔서 감사합니다. 즐거운 코딩 되세요! ?
위 내용은 간단한 코드 예제로 Node.js의 이벤트 이해하기 - Node.js 튜토리얼 - 6부의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!