我正在使用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);
}
所以我的问题是,如何从该查询返回结果?
答案 0 :(得分:0)
您可以
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的响应进行编码。
答案 1 :(得分:0)
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;
}
return (results);
});
}
声明javascript 异步函数并从此处调用该方法。
async function sendGames (req, res) {
var games = await db.listGames(req.query.game);
res.json(games);
}