在 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);
这样我就可以从数据库中获取值并将其分配给节点中的一个变量。这将稍后在我的代码中使用,而无需将其嵌套在查询的回调中。
我正在尝试执行一个 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);
这样我就可以从数据库中获取值并将其分配给节点中的一个变量。这将稍后在我的代码中使用,而无需将其嵌套在查询的回调中。