Javascript Node.JS MySQL正在等待查询结果
我想做一个函数,向MySQL查询数据,并等待结果Javascript Node.JS MySQL正在等待查询结果,javascript,mysql,node.js,Javascript,Mysql,Node.js,我想做一个函数,向MySQL查询数据,并等待结果 const results = await message.client.db.query("SELECT * FROM TABLE WHERE condition"); console.log(results); 我的问题是,结果不像我预期的那样包含原始数据,而是一个查询对象: <ref *1> Query { _events: [Object: null prototype] { error
const results = await message.client.db.query("SELECT * FROM TABLE WHERE condition");
console.log(results);
我的问题是,结果不像我预期的那样包含原始数据,而是一个查询对象:
<ref *1> Query {
_events: [Object: null prototype] {
error: [Function (anonymous)],
packet: [Function (anonymous)],
timeout: [Function (anonymous)],
end: [Function (anonymous)]
},
_eventsCount: 4,
_maxListeners: undefined,
_callback: [Function (anonymous)],
...
_connectCalled: true,
state: 'authenticated',
threadId: 27,
[Symbol(kCapture)]: false
},
[Symbol(kCapture)]: false
}
但我首先发现它很重,当你做很多请求时很难使用。
此外,我还需要一个从数据库返回值的异步函数,由于
等待连接。query(“…”)
无法等待结果,我不知道如何执行该操作。如果您使用mysql2包连接到数据库,您可以执行以下操作:
await con1.promise().query("your query here")
.then( ([rows,fields]) => {
your var = rows[0]['field1'];
return nome_completo;
})
.catch(console.log)
其中con1是您定义的连接。使用promise()您将承诺您的查询,以便可以使用wait您使用的mysql驱动程序库是什么?等待结果不是一个问题,而是您在nodejs中使用了什么mysql库?如果需要函数,则可以创建
async function()
和wait
以获得结果,但您的库应该返回结果。
message.client.db.query("SELECT * FROM TABLE WHERE condition", async function (err, result, fields) {
if (err) throw err;
do_something(result);
});
await con1.promise().query("your query here")
.then( ([rows,fields]) => {
your var = rows[0]['field1'];
return nome_completo;
})
.catch(console.log)