Node.js ตัวอย่างการใช้ EventEmitter

มาดูตัวอย่าง nodejs ตัวอย่างการใช้ eventemitter

EventEmitter build in อยู่ใน Node.js ดังนั้นเราสามารถเรียกใช้ได้เลย

ไปดูตัวอย่างแบบง่าย ๆ การใช้ EventEmitter ใน event-driven กัน

const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();

// Attach listener to an event
myEmitter.on('event', () => {
  console.log('Event has occurred!');
});

// Emit the event
myEmitter.emit('event'); 
// Output: "Event has occurred!"

จากตัวอย่างเราสร้าง class ใหม่ที่ extends EventEmitter class จากนั้นเราก็สร้าง instance ของ class ขึ้นมา จากนั้นเราจะ listener โดยใช้ event โดยใช้ method on

สุดท้ายเราจะ emit event โดยใช้ฟังก์ชัน emit มันจะไป trigger listener

เราสามารถส่งผ่าน data ไปยังผู้ที่ listener โดยส่งผ่าน parameter ใน method emit ตามตัวอย่าง

myEmitter.on('event', (data) => {
  console.log(`Event has occurred with data: ${data}`);
});

// Emit the event
myEmitter.emit('event', {'name':'John'}); 
// Output: "Event has occurred with data: {'name':'John'}"

เราสามารถลบ listener ได้โดยใช้คำสั่ง removeListener ตามตัวอย่าง

const eventCallback = () => {
  console.log('Event has occurred!');
}
myEmitter.on('event', eventCallback);
myEmitter.removeListener('event', eventCallback);


Copyright © 2023 Devcode Code Example - Powered by www.doesystem.com