在 mysql 查询中正确处理 async/await

correctly handle async/await on a mysql query

我正在尝试执行一个 mysql 查询,异步地为一个 const 分配一个值,以便稍后在我的代码中使用。

我目前拥有的是:

const plan_free = await con1.promise().query("SELECT stripe_price1 FROM funzioni WHERE titolo='SmartBanca'")
.then( ([rows,fields]) => {
    return rows[0]['stripe_price1'];
})
.catch(console.log)
.then( () => con1.end());
console.log("Plan_free: "+ plan_free);

但 plan_free returns [object 对象]。我确信我已经接近目标,但我不明白我仍然做错了什么。

编辑:添加以下行:

plan_free1 = JSON.stringify(plan_free);
console.log("Plan_free: "+ plan_free1);

我看到 plan_free 的以下内容:

Plan_free: {"_events":{},"_eventsCount":0,"next":null}

这实际上与我想要实现的目标相去甚远。

好的,我终于成功了。

var plain_free='';
await con1.promise().query("SELECT stripe_price1 FROM funzioni WHERE titolo='SmartBanca'")
.then( ([rows,fields]) => {
    plan_free = rows[0]['stripe_price1'];
    return plan_free;
})
.catch(console.log)
.then( () => con1.end());
            
console.log("Plan_free: "+ plan_free);

这样我就可以从数据库中获取值并将其分配给节点中的一个变量。这将稍后在我的代码中使用,而无需将其嵌套在查询的回调中。