javascript - NestJS - Är det någon skillnad att implementera Client-tjänst utan OnModuleInit
https://github.com/stephenh/ts-proto/blob/main/NESTJS.markdown
Från ts-proto-projektet, i dokumentet, ser jag att klienten implementeras med OnModuleInit så här
import { HeroById, Hero, HeroServiceController, HeroesService, HERO_SERVICE_NAME, HERO_PACKAGE_NAME } from '../hero';
@Injectable()
export class AppService implements OnModuleInit {
private heroesService: HeroesService;
constructor(@Inject(HERO_PACKAGE_NAME) private client: ClientGrpc) {}
onModuleInit() {
this.heroesService = this.client.getService<HeroesService>(HERO_SERVICE_NAME);
}
getHero(): Observable<Hero> {
return this.heroesService.findOne({ id: 1 });
}
}
Jag ändrar koden utan OnModuleInit, och det fungerar bra för mig
import { HeroById, Hero, HeroServiceController, HeroesService, HERO_SERVICE_NAME, HERO_PACKAGE_NAME } from '../hero';
@Injectable()
export class AppService {
constructor(@Inject(HERO_PACKAGE_NAME) private client: ClientGrpc) {}
private heroesService: HeroesService = this.client.getService<HeroesService>(HERO_SERVICE_NAME)
getHero(): Observable<Hero> {
return this.heroesService.findOne({ id: 1 });
}
}
Finns det alltså någon potentiell skillnad mellan med eller utan OnModuleInit?