자바 공부/[자바] 기본 공부
[Node.js 2일차] 이벤트 처리 함수
햅2024
2024. 11. 28. 19:45
1. Event Loop
- Event Emiiter (이벤트 발생)
Event Queue에 쌓임
Event Loop(Observer) : Event Catch
Event Handelr에게 전달
이벤트 발생 -> 이벤트 감지 -> 이벤트 실행
이벤트 방식의 Node.js 구조는 빠르다는 장점을 갖는다.
cmd 실행
cd d:
d:
1900_*
cd satellite


Event 발생기
// Event 모듈 require
var events = require('events');
// 이벤트 발생기인 EveentEmitter 생성
var EventEmitter = new events.EventEmitter();
이벤트 처리 함수 등록 ( EventEmitter.on("트리거 단어", 발생 함수) )
// 이벤트 처리 함수 예제
var goHome = function goHomeFucntion(){
console.log("집에 가려고 합니다.");
//집에 가는 이벤트 발생시키기
EventEmitter.emit("Sleep");
}
//goHomeNow 메세지 발생시 goHome 실행
EventEmitter.on("goHomeNow", goHome); //EventEmitter.on(trigger words, 실행함수이름);
EventEmitter.on("sleep", function(){
console.log("아무 생각없이 자기");
});
이벤트 발생( EventEmitter.emit( "트리거 단어") )
for(let i=0; i<10; i++){
EventEmitter.emit("goHomeNow");
EventEmitter.emit("sleep");
}
event.js
// Event 모듈 require
var events = require('events');
console.log("Event Example Started OK");
// 이벤트 발생기인 EveentEmitter 생성
var EventEmitter = new events.EventEmitter();
// 이벤트 처리 함수 예제
var goHome = function goHomeFucntion(){
console.log("집에 가려고 합니다.");
//집에 가는 이벤트 발생시키기
EventEmitter.emit("Sleep");
}
//goHomeNow 메세지 발생시 goHome 실행
EventEmitter.on("goHomeNow", goHome); //EventEmitter.on(trigger words, 실행함수이름);
EventEmitter.on("sleep", function(){
console.log("아무 생각없이 자기");
});
for(let i=0; i<10; i++){
EventEmitter.emit("goHomeNow");
EventEmitter.emit("sleep");
}