Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.JS MySQL正在等待查询结果_Javascript_Mysql_Node.js - Fatal编程技术网

Javascript Node.JS 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

我想做一个函数,向MySQL查询数据,并等待结果

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)