- Apa Itu Event Emitter?
- Contoh Sederhana: Menggunakan EventEmitter
- Mendaftarkan Beberapa Listener
- Menghapus Listener
- Kesimpulan
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:
- Mendaftarkan listener untuk event tertentu
- 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 eventemit()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
Artikel ini dibaca sebanyak 1.708 kali
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...