【问题标题】:connecting to MySQL async using nodeJs and 'Q'使用 nodeJs 和“Q”连接到 MySQL 异步
【发布时间】:2016-04-05 15:28:59
【问题描述】:

我正在处理使用 Postgres DB 的项目,它使用 nodeJs 和“Q”框架。我想用 mysql 数据库替换 postgres 数据库,因为我是 nodeJs 的新手,我不知道该怎么做?如果你能分享一个 mysql connect 的例子,如果可能的话,使用 nodeJs 和 'Q' 进行简单的查询,那就太好了。

【问题讨论】:

    标签: mysql node.js q


    【解决方案1】:

    看看this的回答。它似乎回答了你的问题。

    完全来自答案:

    var mysql      = require('mysql');
    var Q = require('Q');
    
        var connection = mysql.createConnection({
            host     : 'localhost',
            user     : 'root',
            password : ''
        });
    
        connection.connect();
    
        function doQuery1(){
            var defered = Q.defer();
            connection.query('SELECT 1 AS solution',defered.makeNodeResolver());
            return defered.promise;
        }
    
        function doQuery2(){
            var defered = Q.defer();
            connection.query('SELECT 2 AS solution',defered.makeNodeResolver());
            return defered.promise;
        }
    
        Q.all([doQuery1(),doQuery2()]).then(function(results){
            res.send(JSON.stringify(results[0][0][0].solution+results[1][0][0].solution));
        });
    
        connection.end();
    

    但是,如果您不需要一次拨打多个电话,您可以跳过使用 Q.all 并执行以下操作:

    return doQuery1().then(function(res){
         console.log(res);
         connection.end();
    });
    

    【讨论】:

      【解决方案2】:

      谢谢,这就是我最终的结果:

      var connection  = mysql.createConnection({host     : 'host',user  :'user', password :  'pass', database :  'db'});
      
      var connect = Q.denodeify(connection.connect.bind(connection));
      connect().then(function (values) {
          console.log('...connected to database');
          var query = Q.denodeify(connection.query.bind(connection));
      })
      

      【讨论】:

        猜你喜欢
        • 2021-07-08
        • 2017-01-09
        • 2014-01-04
        • 2018-02-14
        • 2018-05-26
        • 2010-09-07
        • 1970-01-01
        • 2021-04-27
        • 2018-03-08
        相关资源
        最近更新 更多