Performance: Event handling
MEDIUM IMPACT
Event handling affects how quickly the server responds to incoming events or requests, impacting API responsiveness and CPU usage.
import { Injectable } from '@nestjs/common'; import { EventEmitter2 } from 'eventemitter2'; @Injectable() export class AppService { constructor(private eventEmitter: EventEmitter2) {} registerListener() { this.eventEmitter.on('dataEvent', () => { // optimized single handler for all data }); } }
import { Injectable } from '@nestjs/common'; import { EventEmitter2 } from 'eventemitter2'; @Injectable() export class AppService { constructor(private eventEmitter: EventEmitter2) {} registerListeners() { for (let i = 0; i < 1000; i++) { this.eventEmitter.on('dataEvent', () => { // heavy processing }); } } }
| Pattern | Event Listeners | CPU Overhead | Impact | Verdict |
|---|---|---|---|---|
| Many heavy event listeners | 1000+ | Very High | High CPU usage delays request processing | [X] Bad |
| Single optimized event listener | 1 | Low | Minimal CPU usage, fast event processing | [OK] Good |