 
                        严格来说这个跟node没什么关系,是我不够了解回调函数。我想接受到get请求后引用一方法,在数据库中获得值后返回回来再send出去。
以前一直用的都是赋给一个全局变量,但这个肯定不是最好的办法啦
function select(id) {
    var result = null;
    var mysql      = require('mysql');
    var connection = mysql.createConnection({
      host     : 'localhost',
      user     : 'root',
      password : 'root'
    });
    connection.connect();
    connection.query("use mldn");
    connection.query( 
      'SELECT * FROM emp WHERE empno = ' + id, 
      function (err, results, fields) { 
        if (err) { 
          throw err; 
        } 
        connection.end(); 
        return results;
      } 
    );
    //下面是没用的
    //return results;
}
router.get('/user',function(req,res) {
    //我想在这里获得数据再传出去,但这样是失败的
    res.send(select(req.query.userid));
    res.end()
})Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
用
Promise封装一下。大致伪代码就类似这样的。