为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕码人2483693 2021-03-29 08:38:31
我正在使用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);}所以我的问题是,如何从该查询返回结果?
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

你可以


使用回调

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的响应进行编码。


查看完整回答
反对 回复 2021-04-08
  • 2 回答
  • 0 关注
  • 311 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号