0

我正在使用pg-pool. 但是,我在将查询结果发送到前端时遇到了麻烦。我以为我可以res.send像往常一样使用,但它不被识别(我也尝试过return)。这是我的功能:

exports.featList = function (req, res) {
 pool.connect(function(err, client, done) {
  if (err) {
   return console.error('error fetching client from pool', err);
  }
  client.query('SELECT * FROM book WHERE featured=true', function (err,res) {
   var json = JSON.stringify(res.rows);
   return json;
   client.release();
 });
});
4

1 回答 1

0

似乎没有返回结果,因为在回调中client.query您正在重新声明 res 变量,因此您无法访问响应对象。如果将此变量从 res 重命名为 results,它将能够将结果返回给客户端:

exports.featList = function (req, res) {
  pool.connect(function (err, client, done) {
    if (err) {
      return console.error('error fetching client from pool', err);
    }
    client.query('SELECT * FROM book WHERE featured=true', function (err, results) {
      var json = JSON.stringify(res.rows);
      res.json(json);
      client.release();
    });
  });
}
于 2016-10-26T13:50:19.703 回答