我想将 MySQL 结果返回到变量中。 我尝试了以下方法,但它不起作用,因为我得到一个空变量。
const mysql = require('mysql');
const db = require('../config/db');
const connection = mysql.createConnection(db);
module.exports = class Categories {
constructor (res) {
this.res = res;
}
getCategories() {
connection.query("SELECT * FROM `categories`", (error, results, fields) => {
if (error) throw error;
this.pushResult(results);
});
}
pushResult(value) {
this.res = value;
return this.res;
}
};
最佳答案
刚刚先做了一个回调函数:
var Categories = {
getCategories: function (callback) {
connection.query("SELECT * FROM `categories`", (error, results, fields) => {
if(error) { console.log(err); callback(true); return; }
callback(false, results);
});
}
};
然后将其与路由一起使用:
app.get('/api/get_categories', (req, res) => {
categories.getCategories(function (error, results) {
if(error) { res.send(500, "Server Error"); return; }
// Respond with results as JSON
res.send(results);
});
});
关于mysql - 使用node.js执行查询后返回MySQL结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46408686/