Sistemul Decuplat de Evenimente cu EventEmitter2 în NestJS

microservices NestJS 10.x / @nestjs/event-emitter Q&A / Distribuie cod

Arhitectură internă bazată pe evenimente în memorie (Publish/Subscribe) pentru decuplarea totală a serviciilor din aceeași aplicație.

Sintaxă
eventEmitter.emit('order.created', event) / @OnEvent('order.created')

Pentru a evita apelurile directe între module puternic cuplate, pachetul @nestjs/event-emitter oferă o implementare nativă a modelului Observer / Pub-Sub în memorie.

Când o acțiune importantă se finalizează, serviciul apelează this.eventEmitter.emit('nume.eveniment', date), iar orice alt serviciu din aplicație poate asculta și reacționa asincron prin decoratorul @OnEvent('nume.eveniment').

Exemplu: Publicare și ascultare eveniment ‘user.registered’
import { Injectable } from '@nestjs/common';
import { EventEmitter2, OnEvent } from '@nestjs/event-emitter';

export class UserRegisteredEvent {
  constructor(public readonly email: string) {}
}

@Injectable()
export class UsersService {
  constructor(private eventEmitter: EventEmitter2) {}

  async registerUser(email: string) {
    console.log(`Utilizator salvat: ${email}`);
    this.eventEmitter.emit('user.registered', new UserRegisteredEvent(email));
  }
}

@Injectable()
export class EmailNotificationService {
  @OnEvent('user.registered')
  handleUserRegistered(event: UserRegisteredEvent) {
    console.log(`Trimitere email de bun venit către: ${event.email}`);
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Sistemul Decuplat de Evenimente cu EventEmitter2

Ai o nelămurire despre utilizarea comenzii Sistemul Decuplat de Evenimente cu EventEmitter2 sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.