Node.js에서 이벤트를 만드는 방법은 무엇입니까?
17376 단어 node
Node.js의 이벤트는 일반적으로 작업 또는 무언가가 수명 주기의 특정 지점에 도달했음을 알리는 데 사용됩니다. 간단히 말해서 이벤트는 특정 작업의 완료를 알리는 데 사용됩니다.
예를 들어 API를 요청하는 것이 이벤트가 될 수 있고 해당 API로부터 응답을 받는 것이 이벤트가 될 수 있습니다.
Node.js에서 사용자 정의 이벤트를 생성할 수 있습니다.
이벤트를 생성하기 위해 Node.js에 있는
events
모듈의 기본 클래스를 사용할 수 있습니다.Node.js의 이벤트에는 3가지 간단한 사항이 있습니다.
emit()
메서드를 사용하여 이벤트를 트리거하는 것입니다(Node.js에서는 이벤트 발생이라고도 함). 세 번째는 해당 이벤트를 수신하는 것입니다.
// require events module
const Event = require("events");
// create a new event
const event = new Event();
// Listening for an event
event.on("anEventName", () => {
console.log("The event is done!");
});
// Emitting an Event
event.emit("anEventName");
콘솔에
1
에서 100
까지 숫자를 로그아웃한 다음 완료되면 이벤트를 트리거하는 간단한 예를 들어 보겠습니다.전체 코드로 이동 →
먼저
Event
모듈의 기본 events
클래스를 다음과 같이 요구해 보겠습니다.// require default Event class
// from events module
const Event = require("events");
그런 다음 새 이벤트를 만들어야 합니다. 이름을
logEvent
으로 지정하겠습니다. 이 이름은 우리 예(Lazy me 😌)에 대해 생각할 수 있는 더 나은 이름입니다.이런식으로 할 수 있는데,
// require default Event class
// from events module
const Event = require("events");
// make a new event
// called logEvent
const logEvent = new Event();
이제 다음과 같은
1
루프를 사용하여 100
에서 for
까지의 숫자를 로그아웃하는 간단한 함수를 만들어 보겠습니다.// require default Event class
// from events module
const Event = require("events");
// make a new event
// called logEvent
const logEvent = new Event();
// function which logs
// numbers from 1 to 100 to console
function logFrom1to100() {
for (i = 0; i < 100; i++) {
console.log(`Number ${i + 1}`);
}
}
콘솔에서 숫자를 로그아웃한 후
emit
에서 emit()
메서드를 사용하여 이벤트를 트리거하거나 logEvent
합시다.emit()
메서드는 string
유형의 이벤트 이름을 첫 번째 인수로 사용합니다.이벤트 이름을
logged to console
으로 합시다.이렇게 할 수 있습니다.
// require default Event class
// from events module
const Event = require("events");
// make a new event
// called logEvent
const logEvent = new Event();
// function which logs
// numbers from 1 to 100 to console
function logFrom1to100() {
for (i = 0; i < 100; i++) {
console.log(`Number ${i + 1}`);
}
// trigger an event
// called logged to console
logEvent.emit("logged to console");
}
그런 다음 함수 외부에서 이벤트
logged to console
을 수신 대기해야 합니다.on()
에서 logEvent
메서드를 사용할 수 있습니다.on()
메서드는 2개의 인수를 사용합니다.logged to console
) logged to console
이벤트를 이렇게 들을 수 있습니다.// require default Event class
// from events module
const Event = require("events");
// make a new event
// called logEvent
const logEvent = new Event();
// function which logs
// numbers from 1 to 100 to console
function logFrom1to100() {
for (i = 0; i < 100; i++) {
console.log(`Number ${i + 1}`);
}
// trigger an event
// called logged to console
logEvent.emit("logged to console");
}
// listen for the
// logged to console
// event using the on()
// method on the logEvent
logEvent.on("logged to console", () => {
console.log("We have successfully logged to console. Yay! 🍻");
});
마지막으로 함수
logFrom1to100
을 호출하여 이벤트의 기능을 확인하겠습니다.// require default Event class
// from events module
const Event = require("events");
// make a new event
// called logEvent
const logEvent = new Event();
// function which logs
// numbers from 1 to 100 to console
function logFrom1to100() {
for (i = 0; i < 100; i++) {
console.log(`Number ${i + 1}`);
}
// trigger an event
// called logged to console
logEvent.emit("logged to console");
}
// listen for the
// logged to console
// event using the on()
// method on the logEvent
logEvent.on("logged to console", () => {
console.log("We have successfully logged to console. Yay! 🍻");
});
// invoke function logFrom1to100()
logFrom1to100();
Output
Number 1
Number 2
Number 3
.
.
.
.
.
Number 98
Number 99
Number 100
We have successfully logged to the console. Yay! 🍻
We have successfully made an event and listened to it.
See this example live in repl.it .이벤트를 트리거할 때 추가 데이터를 전달하려면 이를
emit()
함수의 두 번째 인수로 전달하고 해당 데이터를 on()
메서드의 콜백 함수에서 첫 번째 매개변수로 가져올 수 있습니다.// function which logs
// numbers from 1 to 100 to console
function logFrom1to100() {
for (i = 0; i < 100; i++) {
console.log(`Number ${i + 1}`);
}
// trigger an event
// called logged to console
// also pass extra data as second argument
logEvent.emit("logged to console", {
startNumber: 1,
endNumber: 100,
});
}
// listen for the
// logged to console
// event using the on()
// method on the logEvent
// also get the data in the callback function
logEvent.on("logged to console", (data) => {
console.log("We have successfully logged to console. Yay! 🍻");
console.log(data);
});
😃 유용하셨다면 공유해 주세요.
Reference
이 문제에 관하여(Node.js에서 이벤트를 만드는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/melvin2016/how-to-create-an-event-in-node-js-4cpf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)