Node.js ialah persekitaran masa jalan JavaScript untuk aplikasi rangkaian berskala yang menggunakan model I/O yang dipacu peristiwa dan tidak menyekat. Pemancar nod (Emitter) ialah modul komunikasi data interaktif yang disediakan oleh Node.js Ia boleh melaksanakan mod pemerhati antara objek, supaya objek boleh dipantau oleh berbilang pengguna pada masa yang sama, dan secara automatik apabila status objek berubah semua pengguna. Dalam artikel ini, kami akan memperkenalkan cara menggunakan pemancar Node.js untuk melaksanakan pemantauan objek dan pencetusan peristiwa.
Pertama, kita perlu memahami beberapa konsep asas pelancar. Pemancar ialah modul terbina dalam Node.js yang melaksanakan mekanisme pengurusan acara. Ia adalah pencetus peristiwa yang menyediakan fungsi mendaftar acara, memancarkan acara dan mengalih keluar pendengar acara. Dalam Node.js, kebanyakan modul mewarisi daripada kelas EventEmitter, jadi mereka semua mempunyai tika pemancar yang boleh mereka gunakan untuk melaksanakan pengendalian acara.
Sebelum menggunakan pelancar, kita perlu memahami beberapa pengetahuan asas. Pertama, untuk mencipta contoh pemancar, kita perlu memperkenalkan modul peristiwa dan mencipta objek Pemancar Acara Kodnya adalah seperti berikut:
const EventEmitter = require('events'); const emitter = new EventEmitter();
Di sini kami menggunakan fungsi require
untuk memperkenalkan modul terbina dalam. Node.js events
, Dan mencipta objek EventEmitter emitter
untuk pelepasan dan pemantauan acara.
Kemudian, kami perlu melaksanakan pendaftaran, pemprosesan dan pengalihan keluar acara. Untuk pendaftaran dan pengalihan keluar acara, kami boleh menggunakan kaedah on
dan off
, dan untuk pemprosesan acara, kami boleh menggunakan kaedah emit
. Berikut ialah beberapa contoh asas:
function callback() { console.log('event is emitted'); } // 注册事件监听器,监听event事件 emitter.on('event', callback); // 触发event事件,会自动调用callback函数 emitter.emit('event'); // 移除event事件监听器,不再监听event事件 emitter.off('event', callback);
Dalam contoh di atas, kami menggunakan kaedah on
untuk mendaftarkan pendengar acara. Apabila acara 'event'
dipancarkan, fungsi callback
dipanggil secara automatik. Kemudian, kami menggunakan kaedah emit
untuk memancarkan acara 'event'
, yang mencetuskan fungsi callback
. Akhir sekali, kami menggunakan kaedah off
untuk mengalih keluar fungsi callback
pemantauan acara 'event'
.
Selain kaedah on
, off
dan emit
, kami juga boleh menggunakan beberapa kaedah lain untuk mengendalikan pemancar. Antaranya, kaedah once
adalah serupa dengan kaedah on
Bezanya kaedah once
akan memadamkan pendengar acara secara automatik selepas acara dipancarkan sekali. Selain itu, kaedah prependListener
boleh memasukkan pendengar acara ke hadapan senarai pendengar acara, manakala kaedah prependOnceListener
menyediakan pendengar acara ke hadapan senarai pendengar dan hanya akan dipanggil sekali.
// 在所有事件监听器之前添加事件监听器 emitter.prependListener('event', callback); // 在所有事件监听器之前添加事件监听器,只会调用一次 emitter.prependOnceListener('event', callback);
Sudah tentu, kita juga boleh menggunakan kaedah eventNames
untuk mendapatkan senarai nama semua acara yang didaftarkan pada objek semasa.
const eventNames = emitter.eventNames(); console.log(eventNames); // ['event']
Secara keseluruhannya, menggunakan pemancar Node.js ialah cara yang sangat berguna untuk berkomunikasi. Pemancar membolehkan kami mewujudkan hubungan gandingan yang longgar antara objek, mengurangkan kerumitan aplikasi dan kos penyelenggaraan. Menggunakan pemancar, kami boleh dengan mudah melaksanakan komunikasi data dan pengendalian peristiwa antara objek, dengan itu meningkatkan kebolehpercayaan dan kebolehskalaan aplikasi kami.
Atas ialah kandungan terperinci Cara menggunakan pelancar nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!