Belajar Node.js Dasar #6: Event Emitter


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar Node.js Dasar #6: Event Emitter

Halo teman-teman semuanya! Setelah sebelumnya kita membahas core module seperti fs, path, dan os, kali ini kita akan berkenalan dengan salah satu fitur inti di Node.js yang sangat penting, yaitu Event Emitter.

Node.js dibangun dengan konsep event-driven architecture, artinya banyak hal terjadi sebagai response terhadap suatu peristiwa (event). Fitur ini sangat berguna, terutama saat kita membuat server atau aplikasi real-time.

Apa Itu Event Emitter?

Event Emitter adalah objek yang memungkinkan kita untuk:

  1. Mendaftarkan listener untuk event tertentu
  2. Memicu event dan menjalankan semua listener yang sudah terdaftar

Event Emitter ini sudah tersedia dalam core module events.

Contoh Sederhana: Menggunakan EventEmitter

const EventEmitter = require('events');

const emitter = new EventEmitter();

// Mendaftarkan listener untuk event 'salam'
emitter.on('salam', (nama) => {
  console.log(`Halo, ${nama}!`);
});

// Memicu event 'salam'
emitter.emit('salam', 'SantriKoding');

Penjelasan:

  • on() digunakan untuk mendengarkan event
  • emit() digunakan untuk memicu event

Output dari contoh di atas:

Halo, SantriKoding!

Mendaftarkan Beberapa Listener

Kita bisa menambahkan lebih dari satu listener untuk satu event:

emitter.on('pesan', () => {
  console.log('Pesan pertama diterima.');
});

emitter.on('pesan', () => {
  console.log('Pesan kedua diterima.');
});

emitter.emit('pesan');

Output:

Pesan pertama diterima.
Pesan kedua diterima.

Menghapus Listener

Kita bisa menghapus listener dengan removeListener() atau off():

const salamHandler = (nama) => {
  console.log(`Hai, ${nama}!`);
};

emitter.on('salam', salamHandler);
emitter.emit('salam', 'Andi');

emitter.off('salam', salamHandler);
emitter.emit('salam', 'Budi'); // Tidak akan menampilkan apa-apa

Kesimpulan

Event Emitter adalah fitur penting di Node.js yang memungkinkan kita untuk menanggapi dan mengatur kejadian tertentu dengan cara yang fleksibel dan efisien. Ini adalah salah satu kekuatan utama Node.js dalam membangun aplikasi real-time.

Pada artikel berikutnya, kita semua akan belajar tentang Http Module di dalam Node.js.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami