gpt4 book ai didi

mysql - Node.JS async/await MySQL 获取插入行的结果

转载 作者:行者123 更新时间:2023-11-29 15:23:56 25 4
gpt4 key购买 nike

在 mysql 中插入一行后,我尝试检索行 ID。

con.query('INSERT INTO terminals SET ?', {title: 'test'}, function (err, result, fields) {
console.log(result.insertId);
});

现在我尝试在函数外部访问 result.insertId 。这是如何使用 async/await 实现的?

这对我不起作用:

const response = await con.query('INSERT INTO terminals SET ?', {title: 'test'}, async function (err, result, fields) {
return result;
});
console.log(await response.insertId);

最佳答案

您可以创建一个返回 promise 的函数。

例如:

function asynqQuery(query, params) {
return new Promise((resolve, reject) =>{
con.query(query, params, (err, result) => {
if (err)
return reject(err);
resolve(result);
});
});

}

try {
const response = await asynqQuery('INSERT INTO terminals SET ?', {title: 'test'});
console.log(response.insertId);
} catch (e) {
console.error
}

或者您可以尝试使用“util”库中的“promisify”。

关于mysql - Node.JS async/await MySQL 获取插入行的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59176566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com