Performance: Route handlers (GET, POST, PUT, DELETE)
MEDIUM IMPACT
This affects server response time and client perceived latency by how efficiently route handlers process requests and send responses.
import { Controller, Get } from '@nestjs/common'; @Controller('items') export class ItemsController { @Get() async getAll() { // Asynchronous non-blocking operation const data = await this.fetchItemsFromDb(); return { data }; } async fetchItemsFromDb() { // Simulate async DB call return new Promise(resolve => setTimeout(() => resolve(['item1', 'item2']), 50)); } }
import { Controller, Get } from '@nestjs/common'; @Controller('items') export class ItemsController { @Get() getAll() { // Synchronous heavy computation or blocking code for (let i = 0; i < 1e9; i++) {} return { data: 'All items' }; } }
| Pattern | Server Processing | Event Loop Blocking | Response Time | Verdict |
|---|---|---|---|---|
| Synchronous blocking handlers | High CPU usage | Blocks event loop | Slow responses | [X] Bad |
| Asynchronous non-blocking handlers | Efficient CPU usage | No blocking | Fast responses | [OK] Good |