【发布时间】:2021-08-05 06:32:48
【问题描述】:
我目前正在从 Nodejs v12 切换到 v14,似乎 v14 不再等待设置功能解决。我将 Nodejs 与 Express 结合使用。我的代码看起来像这样(简化):
setup().then(context => {
// app setup based on context
app.listen(8080)
})
在初始化应用程序的其余部分之前,有没有首选的方法来使用异步设置功能?
setup 函数连接数据库并返回一个 promise,如下所示:
function setup() {
// This is a postgres library that return a promise
return db.connect(this.config);
}
在 Node v12 上,它似乎在等待 promise 并在完成后开始监听指定的端口。但是,当我切换到版本 14 时,它不会等待承诺并给出一个干净的退出。
【问题讨论】:
-
很抱歉,问题中的信息不足,我们无法为您提供帮助。 “不再完成”是什么意思?
setup是什么?你在调试中看到了什么?db是什么?db.connect返回什么? -
我已经阐述了
-
尝试加
.catch看看有没有失败setup().then(context => app.listen(8080)).catch(err=>console.error(err)); -
没有错误,唯一不同的是节点版本。在 Node v12 上工作正常,但在 Node v14 上不工作
标签: javascript node.js typescript express