Node.js - Penyelaras Peristiwa: Panduan untuk Pemula

Hai teman-teman, bakal bintang pemrograman! Hari ini, kita akan mengemban perjalanan menarik ke dunia Node.js Penyelaras Peristiwa. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan menangani topik ini langkah demi langkah. Pada akhir panduan ini, Anda akan bisa mengeluarkan peristiwa seperti seorang pro!

Node.js - Event Emitter

Apa Itu Penyelaras Peristiwa?

Sebelum kita masuk ke kode, mari pahami apa itu Penyelaras Peristiwa. Bayangkan Anda di sebuah pesta ( tentu saja pesta pemrograman!). DJ adalah Penyelaras Peristiwa. Mereka memutar musik (mengeluarkan peristiwa), dan saat mereka memutar lagu kesukaan Anda, Anda mulai menari (merespon peristiwa). Dalam Node.js, Penyelaras Peristiwa seperti DJ itu - dia bisa mengirimkan sinyal yang bagian lain program Anda dapat mendengarkan dan merespon.

Memulai dengan Penyelaras Peristiwa

Mari mulai dengan contoh sederhana untuk melihat bagaimana Penyelaras Peristiwa bekerja di Node.js.

const EventEmitter = require('events');

// Buat penyelaras peristiwa baru
const myEmitter = new EventEmitter();

// Definisikan listener peristiwa
myEmitter.on('greet', () => {
console.log('Hello, World!');
});

// Keluarkan peristiwa
myEmitter.emit('greet');

mariuraikan ini:

  1. Kita import modul events, yang memberikan kita akses ke fungsionalitas Penyelaras Peristiwa.
  2. Kita buat objek Penyelaras Peristiwa baru bernama myEmitter.
  3. Kita gunakan metode on untuk menyiapkan listener untuk peristiwa 'greet'.
  4. Saat peristiwa 'greet' terjadi, ia akan mencetak "Hello, World!" ke konsol.
  5. Akhirnya, kita gunakan metode emit untuk memicu peristiwa 'greet'.

Saat Anda menjalankan kode ini, Anda akan melihat "Hello, World!" dicetak di konsol Anda. Itu seperti DJ Anda memutar lagu kesukaan Anda!

Menambahkan Parameter ke Peristiwa

Peristiwa juga dapat membawa data. Mari modifikasi contoh kita untuk menyertakan nama:

const EventEmitter = require('events');
const myEmitter = new EventEmitter();

myEmitter.on('greet', (name) => {
console.log(`Hello, ${name}!`);
});

myEmitter.emit('greet', 'Alice');
myEmitter.emit('greet', 'Bob');

Sekarang, saat kita mengeluarkan peristiwa 'greet', kita mensertakan nama sebagai parameter. Fungsi listener menerima nama ini dan menggunakannya dalam salam. Menjalankan kode ini akan mengeluarkan:

Hello, Alice!
Hello, Bob!

Itu seperti DJ sekarang menerima permintaan lagu dengan dedikasi!

Listener Ganda

Salah satu hal menarik tentang Penyelaras Peristiwa adalah Anda dapat memiliki beberapa listener untuk peristiwa yang sama. Mari lihat ini dalam tindakan:

const EventEmitter = require('events');
const myEmitter = new EventEmitter();

myEmitter.on('party', () => {
console.log('Let\'s dance!');
});

myEmitter.on('party', () => {
console.log('Time for snacks!');
});

myEmitter.on('party', () => {
console.log('Taking selfies!');
});

myEmitter.emit('party');

Saat Anda menjalankan kode ini, Anda akan melihat:

Let's dance!
Time for snacks!
Taking selfies!

Setiap listener merespon peristiwa 'party' dalam cara mereka sendiri. Itu seperti orang-orang berbeda di pesta pemrograman kita mereaksi terhadap lagu yang sama dalam gaya mereka sendiri!

Metode Once: Listener Satu Kali

kadang-kadang, Anda ingin listener merespon peristiwa hanya sekali. Untuk ini, kita gunakan metode once:

const EventEmitter = require('events');
const myEmitter = new EventEmitter();

myEmitter.once('special', () => {
console.log('Ini hanya akan terjadi sekali!');
});

myEmitter.emit('special');
myEmitter.emit('special');
myEmitter.emit('special');

Kode ini hanya akan mengeluarkan "Ini hanya akan terjadi sekali!" sekali, meskipun kita mengeluarkan peristiwa tiga kali. Itu seperti penawaran satu kali di pesta pemrograman kita - Anda terlambat, Anda kehilangan!

Peristiwa Kesalahan

Penanganan kesalahan sangat penting dalam pemrograman. Penyelaras Peristiwa memiliki peristiwa khusus 'error' untuk tujuan ini:

const EventEmitter = require('events');
const myEmitter = new EventEmitter();

myEmitter.on('error', (err) => {
console.error('Whoops! Ada kesalahan:', err.message);
});

myEmitter.emit('error', new Error('Something went wrong!'));

Kode ini menyiapkan listener untuk peristiwa 'error' dan kemudian mengeluarkan kesalahan. Outputnya akan menjadi:

Whoops! Ada kesalahan: Something went wrong!

Itu seperti memiliki jaring keselamatan di pesta pemrograman kita - jika ada yang salah, kita siap menanganinya!

Menghapus Listener

Kadang-kadang, Anda mungkin ingin menghentikan mendengarkan peristiwa tertentu. Anda dapat melakukan ini dengan metode removeListener:

const EventEmitter = require('events');
const myEmitter = new EventEmitter();

function partyTime() {
console.log('Party time!');
}

myEmitter.on('celebrate', partyTime);

myEmitter.emit('celebrate');  // Output: Party time!

myEmitter.removeListener('celebrate', partyTime);

myEmitter.emit('celebrate');  // Tidak ada output

Di sini, kita menghapus listener setelah pertama kali mengeluarkan, sehingga pengeluaran kedua tidak memicu fungsi. Itu seperti memberitahu DJ Anda untuk mengambil break dari tari!

Metode Penyelaras Peristiwa

Berikut adalah tabel metode Penyelaras Peristiwa yang paling umum digunakan:

Metode Deskripsi
on(eventName, listener) Menambahkan fungsi listener ke peristiwa yang ditentukan
emit(eventName[, ...args]) Memicu peristiwa yang ditentukan
once(eventName, listener) Menambahkan fungsi listener sekali
removeListener(eventName, listener) Menghapus listener tertentu dari peristiwa
removeAllListeners([eventName]) Menghapus semua listener atau semua peristiwa tertentu
listeners(eventName) Mengembalikan array listener untuk peristiwa yang ditentukan
listenerCount(eventName) Mengembalikan jumlah listener untuk peristiwa tertentu

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia Penyelaras Peristiwa Node.js. Kita telah melihat dasar-dasar, dari membuat penyelaras dan listener hingga penanganan kesalahan dan menghapus listener. Penyelaras Peristiwa adalah alat kuat dalam Node.js, memungkinkan Anda menciptakan program yang dinamis dan responsif.

Ingat, latihan membuat sempurna. Cobalah menciptakan Penyelaras Peristiwa Anda sendiri, eksperimen dengan peristiwa dan listener berbeda, dan terutama, bersenang-senang dengan itu! Siapa tahu, mungkin Anda akan menjadi DJ bintang di pesta pemrograman berikutnya, memutar peristiwa seperti seorang pro!

Selamat coding, dan semoga peristiwa Anda selalu menemukan listener!

Credits: Image by storyset