Performance: Async configuration
MEDIUM IMPACT
Async configuration affects the app startup time and initial rendering by delaying module initialization until async tasks complete.
import { ConfigModule } from '@nestjs/config'; @Module({ imports: [ ConfigModule.forRootAsync({ useFactory: async () => { const config = await fetchRemoteConfig(); return config; }, inject: [], }), ], }) export class AppModule {}
import { ConfigModule } from '@nestjs/config'; @Module({ imports: [ConfigModule.forRoot()], }) export class AppModule {}
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Synchronous config loading | Minimal DOM nodes initially | 0 reflows from config but blocks JS execution | Delays first paint due to blocking | [X] Bad |
| Async config with useFactory | Minimal DOM nodes initially | 0 reflows, non-blocking JS execution | Faster first paint by deferring config load | [OK] Good |