猿问

如何返回查询结果?MySQL Node.js

我正在使用https://www.npmjs.com/package/mysql上的mysql包


所以基本上我在文件中有此功能:


module.exports.listGames = (id) => {

  let query = 'SELECT * FROM test';

  if (id) {

    query += 'WHERE userid = ' + connection.escape(id);

  }


  connection.query(query, function(err, results) {

    if (err) {

      throw err;

    }

    console.log(results);

  });

}

我想以json格式返回这些结果


所以我可以在另一个文件中调用它:


function sendGames(req, res) {

    const games = db.listGames(req.query.game);

    res.json(games);

}

所以我的问题是,如何从该查询返回结果?


慕码人2483693
浏览 312回答 2
2回答

沧海一幻觉

你可以使用回调module.exports.listGames = (id, cb) => {  let query = 'SELECT * FROM test';  if (id) {    query += 'WHERE userid = ' + connection.escape(id);  }  connection.query(query, function(err, results) {    if (err) {      throw err;    }    cb(results);  });}module.exports.listGames(12, (results) => {console.log(results);})使用承诺module.exports.listGames = (id) => {  let query = 'SELECT * FROM test';  if (id) {    query += 'WHERE userid = ' + connection.escape(id);  }  return new Promise((resolve, reject) => {    connection.query(query, function(err, results) {      if (err) {        throw err;      }      resolve(results);    });  })}module.exports.listGames(12).then(results => console.log(results)您可以使用JSON.stringify对从mysql查询到JSON的响应进行编码。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答