Acara Node.js ialah konsep teras dalam platform dan merupakan kunci kepada sifat tidak menyekat dan tidak segeraknya. Berikut ialah pecahan ringkas untuk membantu anda memahaminya:
Apakah Peristiwa dalam Node.js?
- acara ialah tindakan atau kejadian (seperti klik, fail sedang dibaca atau mesej diterima) yang Node.js boleh balas.
- Acara dalam Node.js dibina pada kelas EventEmitter, sebahagian daripada modul acara.
Bagaimana Acara Berfungsi dalam Node.js?
Node.js mengikut model Pengaturcaraan Didorong Peristiwa, yang bermaksud ia menunggu peristiwa berlaku dan kemudian bertindak balas terhadapnya.
-
Pemancar Acara:
- EventEmitter ialah objek yang memancarkan peristiwa.
- Anda boleh "mendengar" untuk acara ini dan menjalankan fungsi panggil balik apabila ia berlaku.
-
Gelung Acara:
- Gelung acara ialah mekanisme yang sentiasa menyemak acara dan melaksanakan fungsi panggil balik yang berkaitan.
Kaedah Utama dalam Kelas EventEmitter
Berikut ialah beberapa kaedah paling biasa yang akan anda gunakan:
-
pada(acara, pendengar): Menambahkan pendengar untuk acara tertentu.
-
emit(event, [arg1, arg2, ...]): Mencetuskan acara dan memanggil semua pendengar yang menyertainya.
-
sekali(acara, pendengar): Menambah pendengar yang akan dilaksanakan hanya pada kali pertama acara dipancarkan.
-
removeListener(event, listener): Mengalih keluar pendengar khusus untuk acara.
-
removeAllListeners(event): Mengalih keluar semua pendengar untuk acara tertentu.
Contoh Mudah
Berikut ialah contoh pantas untuk menunjukkan acara Node.js:
const EventEmitter = require('events');
// Create an instance of EventEmitter
const myEmitter = new EventEmitter();
// Define an event listener
myEmitter.on('greet', (name) => {
console.log(`Hello, ${name}!`);
});
// Emit the event
myEmitter.emit('greet', 'Sospeter'); // Output: Hello, Sospeter!
Salin selepas log masuk
Contoh Peristiwa Node.js Dunia Sebenar
-
Operasi Fail:
Node.js memancarkan peristiwa apabila operasi fail selesai.
const fs = require('fs');
fs.readFile('example.txt', (err, data) => {
if (err) throw err;
console.log('File read successfully!');
});
Salin selepas log masuk
-
Pelayan HTTP:
Modul http memancarkan peristiwa untuk permintaan dan respons.
const http = require('http');
const server = http.createServer((req, res) => {
res.end('Hello, world!');
});
server.on('request', (req) => {
console.log(`Request received: ${req.url}`);
});
server.listen(3000, () => {
console.log('Server running on port 3000');
});
Salin selepas log masuk
Mengapa Peristiwa Penting?
-
Sifat Asynchronous: Acara membenarkan Node.js mengendalikan berbilang tugas tanpa menyekat urutan utama.
-
Skalabiliti: Mereka membolehkan aplikasi mengurus banyak sambungan atau operasi secara serentak.
-
Fleksibiliti: Anda boleh menentukan acara tersuai dan mengendalikannya mengikut keperluan.
Bilakah Anda Harus Menggunakan Acara?
- Apabila anda perlu melaksanakan tindakan tertentu sebagai tindak balas kepada kejadian (cth., tindakan pengguna, aliran data atau permintaan rangkaian).
- Untuk mengasingkan bahagian aplikasi anda yang berbeza dan menjadikan kod lebih modular.
Atas ialah kandungan terperinci Peristiwa dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!