diff --git a/packages/microservices/nest-microservice.ts b/packages/microservices/nest-microservice.ts index 9aa94174a75..b13e52e00cf 100644 --- a/packages/microservices/nest-microservice.ts +++ b/packages/microservices/nest-microservice.ts @@ -115,14 +115,14 @@ export class NestMicroservice extends NestApplicationContext } public listen(callback: () => void) { - !this.isInitialized && this.registerModules(); - - this.logger.log(MESSAGES.MICROSERVICE_READY); - this.server.listen(callback); + this.listenAsync().then(callback); } public async listenAsync(): Promise { - return new Promise(resolve => this.listen(resolve)); + !this.isInitialized && (await this.registerModules()); + + this.logger.log(MESSAGES.MICROSERVICE_READY); + return new Promise(resolve => this.server.listen(resolve)); } public async close(): Promise {