【发布时间】:2021-04-28 05:49:57
【问题描述】:
对不起,如果这是一个愚蠢的问题,我不明白为什么在嵌套中你需要等待 app.listen(),当它是 bootstrap() 做的最后一件事时有什么意义
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
【问题讨论】:
-
因为它做了一些异步的东西。如果你的问题是,什么异步?那你应该问
nestjs的合作者,他们会给你更准确的信息...... -
@Nur 是的,但不是等待仍然是多余的吗?和把 app.listen(3000).then(e => {});从字面上告诉它在承诺解决后什么都不做,你确定这不仅仅是“最佳实践”之类的事情吗?
-
为什么会这样?有原因,比如从磁盘读取,启动时需要做...
-
@Nur 因为无论等待承诺都会开始吗?就像所有 await 在这里所做的一样,就是说“在承诺解决后什么都不做”
-
app.listen是否会返回一个承诺?如果是,什么时候解决?在此示例中,不需要它,因为您也不是awaitingbootstrap。但是如果app.listen返回一个承诺,例如当应用停止收听时解析,然后它可能有用(例如,在拆卸后做某事)。
标签: typescript ecmascript-6 nestjs