EventEmitterModule
NestJS 🟡 MidDefinition
Module pour la communication asynchrone intra-application via evenements. Les services emettent des evenements et les listeners les traitent de facon decouple.
Analogie
Comme un systeme de haut-parleurs dans un batiment : un message est diffuse et ceux concernes reagissent.
Exemple de code
// Emission
this.eventEmitter.emit('order.created', new OrderCreatedEvent(order));
// Listener
@OnEvent('order.created')
async handleOrderCreated(event: OrderCreatedEvent) {
await this.emailService.sendConfirmation(event.order);
}
Cas d'usage
Decoupler les effets de bord (email, notifications) de la logique metier principale.
Anti-pattern
Utiliser des appels directs entre services pour des side-effects au lieu d'evenements.