Maison >interface Web >js tutoriel >Comprendre les événements dans Node.js avec des exemples de code simples - Tutoriel Node.js - Partie 6
Dans Node.js, un événement est une action qui peut être écoutée et mise en œuvre. Imaginez les événements comme un système de notification. Chaque fois que quelque chose se produit, comme la fin d'une lecture de fichier ou une demande reçue, Node.js déclenche un événement auquel vous pouvez répondre.
Node.js a un module intégré appelé événements, et la classe la plus importante de ce module est EventEmitter. Il permet de définir et de gérer des événements.
Voyons comment créer un émetteur d'événements.
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');
Dans cet exemple, nous avons enregistré un auditeur pour l'événement de salutation, puis avons émis l'événement. Le résultat est un simple « Bonjour ! » imprimé sur la console.
Vous pouvez également transmettre des arguments lors de l'émission d'événements. Ceci est utile lorsque vous devez transmettre des données.
myEmitter.on('sayHello', (name) => { console.log(`Hello, ${name}!`); }); myEmitter.emit('sayHello', 'Alice');
Maintenant, lorsque nous émettons l'événement sayHello, il salue Alice.
Créons un serveur HTTP de base et montrons comment les événements entrent en jeu. Dans Node.js, le module http utilise largement les événements. Chaque fois qu'une requête arrive sur le serveur, elle déclenche un événement.
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'); });
Dans cet exemple :
Vous pouvez créer des événements personnalisés dans le code de votre serveur pour gérer des tâches spécifiques. Voici un exemple d'émission d'un événement personnalisé lorsqu'un client se connecte.
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'); });
Dans cet exemple :
Les événements sont au cœur de Node.js, ce qui le rend puissant pour gérer les opérations asynchrones, notamment dans le contexte des serveurs. En maîtrisant les événements, vous disposerez d'une base solide pour créer des applications évolutives et efficaces.
Merci d'avoir lu et bon codage ! ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!