Exercice : "Système de Notification de Commande"
Conditions d’achèvement
Exercice : "Système de Notification de Commande"
Objectif : Créer un script Node.js qui simule un système de notification pour un service de commande en ligne. L'exercice mettra en évidence la création d'événements personnalisés, l'écoute d'événements et la réponse à ces événements.
Partie 1: Création de l'EventEmitter
- Définir un EventEmitter :
- Créez une instance de
EventEmitterqui représentera notre système de notification.
- Créez une instance de
Partie 2: Écoute et Émission d'Événements
-
Écoute des Événements :
- Ajoutez des écouteurs pour les événements
orderPlacedetorderShipped. - Chaque écouteur doit afficher un message dans la console lorsqu'il reçoit l'événement correspondant.
- Ajoutez des écouteurs pour les événements
-
Émission d'Événements :
- Simulez la passation d'une commande en émettant l'événement
orderPlaced. - Simulez l'expédition d'une commande en émettant l'événement
orderShipped.
- Simulez la passation d'une commande en émettant l'événement
Partie 3: Gestion des Événements avec Arguments
- Passage d'Arguments aux Événements :
- Modifiez les écouteurs pour qu'ils acceptent des données de commande, telles que l'ID de la commande et les détails du client.
- Lors de l'émission des événements, passez un objet contenant ces informations.
Partie 4: Patterns Courants
- Nettoyage des Écouteurs :
- Ajoutez un événement
orderCompletedqui, lorsqu'il est émis, supprime les écouteurs pour une commande spécifique pour éviter les fuites de mémoire.
- Ajoutez un événement
Exemple de Code pour la Partie 1 et 2
const EventEmitter = require('events');
// Partie 1: Création de l'EventEmitter
class OrderSystem extends EventEmitter {
constructor() {
super();
}
}
// Partie 2: Écoute et Émission d'Événements
const orderSystem = new OrderSystem();
// Écoute des événements
orderSystem.on('orderPlaced', () => {
console.log('Une commande a été passée.');
});
orderSystem.on('orderShipped', () => {
console.log('Une commande a été expédiée.');
});
// Émission d'événements
orderSystem.emit('orderPlaced');
orderSystem.emit('orderShipped');
Instructions pour l'étudiant :
- Complétez l'implémentation de
OrderSystempour gérer les événements avec des arguments. - Assurez-vous que les écouteurs affichent les détails de la commande lorsqu'ils reçoivent un événement.
- Testez votre code en émettant des événements avec des données de commande différentes.
- Implémentez le nettoyage des écouteurs pour l'événement
orderCompleted.
Cet exercice aidera les étudiants à comprendre comment les événements fonctionnent dans Node.js et comment ils peuvent être utilisés pour créer des systèmes réactifs et modulaires.
Modifié le: vendredi 3 novembre 2023, 09:36