Dalam Node.js, acara ialah tindakan yang boleh didengar dan diambil tindakan. Bayangkan peristiwa sebagai sistem pemberitahuan. Apabila sesuatu berlaku, seperti fail selesai dibaca atau permintaan diterima, Node.js mencetuskan peristiwa yang boleh anda balas.
Node.js mempunyai modul terbina dalam yang dipanggil acara, dan kelas yang paling penting dalam modul ini ialah EventEmitter. Ia membolehkan anda menentukan dan mengendalikan acara.
Mari lihat cara membuat pemancar acara.
const EventEmitter = require('events'); const myEmitter = new EventEmitter(); // Register an event listener myEmitter.on('greet', () => { console.log('Hello there!'); }); // Emit the event myEmitter.emit('greet');
Dalam contoh ini, kami mendaftarkan pendengar untuk acara sapaan dan kemudian memancarkan acara tersebut. Hasilnya ialah "Hello!" dicetak ke konsol.
Anda juga boleh meluluskan hujah apabila memancarkan peristiwa. Ini berguna apabila anda perlu menghantar data.
myEmitter.on('sayHello', (name) => { console.log(`Hello, ${name}!`); }); myEmitter.emit('sayHello', 'Alice');
Sekarang, apabila kita memancarkan acara sayHello, ia menyambut Alice.
Mari kita buat pelayan HTTP asas dan tunjukkan cara peristiwa berlaku. Dalam Node.js, modul http menggunakan peristiwa secara meluas. Setiap kali permintaan mencecah pelayan, ia mencetuskan acara.
const http = require('http'); // Create a server const server = http.createServer((req, res) => { if (req.url === '/') { res.write('Hello World'); res.end(); } }); // Register an event listener for 'request' server.on('request', (req, res) => { console.log(`Received request for ${req.url}`); }); // Start the server server.listen(3000, () => { console.log('Server is running on port 3000'); });
Dalam contoh ini:
Anda boleh membuat acara tersuai dalam kod pelayan anda untuk mengendalikan tugas tertentu. Berikut ialah contoh memancarkan acara tersuai apabila pelanggan menyambung.
const EventEmitter = require('events'); const http = require('http'); // Create an event emitter instance const myEmitter = new EventEmitter(); // Create a server const server = http.createServer((req, res) => { res.write('Hello Client'); res.end(); // Emit a custom event on each request myEmitter.emit('clientConnected', req.url); }); // Listen for the custom 'clientConnected' event myEmitter.on('clientConnected', (url) => { console.log(`A client connected to ${url}`); }); // Start the server server.listen(3000, () => { console.log('Server is running on port 3000'); });
Dalam contoh ini:
Acara berada di tengah-tengah Node.js, menjadikannya berkuasa untuk mengendalikan operasi tak segerak, terutamanya dalam konteks pelayan. Dengan menguasai acara, anda akan mempunyai asas yang kukuh untuk membina aplikasi berskala dan cekap.
Terima kasih kerana membaca, dan selamat mengekod! ?
Atas ialah kandungan terperinci Memahami Peristiwa dalam Node.js dengan Contoh Kod Ringkas - Tutorial Node.js - Bahagian 6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!