Memahami Peristiwa dalam Node.js dengan Contoh Kod Ringkas - Tutorial Node.js - Bahagian 6

Mary-Kate Olsen
Lepaskan: 2024-09-20 18:45:02
asal
869 orang telah melayarinya

Understanding Events in Node.js with Simple Code Examples - Node.js Tutorial - Part 6

Apakah Peristiwa?

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.

Pemancar Acara

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.

Contoh 1: Pemancar Peristiwa Asas

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');
Salin selepas log masuk

Dalam contoh ini, kami mendaftarkan pendengar untuk acara sapaan dan kemudian memancarkan acara tersebut. Hasilnya ialah "Hello!" dicetak ke konsol.

Contoh 2: Melepasi Hujah dengan Peristiwa

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');
Salin selepas log masuk

Sekarang, apabila kita memancarkan acara sayHello, ia menyambut Alice.

Contoh 3: Menggunakan Acara dalam Pelayan HTTP Mudah

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');
});
Salin selepas log masuk

Dalam contoh ini:

  • Pelayan HTTP asas dibuat.
  • Pendengar acara ditambahkan untuk acara 'permintaan' untuk melog setiap URL permintaan.
  • Setiap kali pelayan mendapat permintaan, acara permintaan dipancarkan, yang diambil oleh pendengar, mengelog URL yang diminta.

Contoh 4: Acara Tersuai dalam Pelayan

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');
});
Salin selepas log masuk

Dalam contoh ini:

  • Kami mencipta acara tersuai, clientConnected, yang menyala apabila pelanggan membuat permintaan kepada pelayan.
  • Pendengar untuk acara ini merekodkan URL permintaan apabila acara itu dipancarkan.

Mengapa Menggunakan Acara?

  • I/O tidak menyekat: Node.js adalah mengenai pengendalian tugas tak segerak dengan cekap. Acara membolehkan anda bertindak balas apabila tugasan selesai tanpa menyekat pelaksanaan.
  • Kod modular: Acara membantu anda memisahkan kod anda, menjadikannya lebih modular dan lebih mudah untuk diurus.

Fikiran Akhir

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!