connection.query(...).then 不是函数

Sam*_*dar 5 mysql node.js express

我是节点 js 的新手。我在后端和 mysql 中使用带有 express 的节点作为数据库。我在处理异步调用时感到困惑。在我使用 .

return connection.query(qry).then(
        function(result) {
          console.log('Query executed');
          resolve(result.rows[0]);
        },
        function(err) {
          console.log('Error occurred', err);
          reject(err);
        }
  )
Run Code Online (Sandbox Code Playgroud)

我收到错误connection.query(...).then 不是函数

connection.query(qry, function (err, rows, fields) {

});
Run Code Online (Sandbox Code Playgroud)

被正确执行。简单查询我没有遇到任何问题。在执行复杂查询时,上面的不是等待完整的查询执行

ric*_*937 5

.then()首先与 mysql 一起使用,您需要“承诺”数据库客户端。这可以通过为 MySQL 客户端创建包装类来完成。
查看这篇文章以获得更好的理解


Men*_*los 2

您需要导入 mysql,并实际创建连接。

做就是了:

  var mysql=require('mysql');
    var connection=mysql.createConnection({
      host:'127.0.0.1',
      port: '3306',
      user:'root',
      password:'12345',
      database:'db'
    });

    connection.connect(function(error){
      if(!!error){
        console.log(error);
      }else{
        console.log('Connected!:)');
      }
    });
Run Code Online (Sandbox Code Playgroud)