mysql - 使用node.js执行查询后返回MySQL结果

标签 mysql node.js return return-value

我想将 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/

相关文章:

mysql - Spring Boot MySQL Docker Caused by : java.net.ConnectException: Connection refused(连接被拒绝)

node.js - 谷歌文档的谷歌驱动器 API 中的 files.list() 和 files.get() 中缺少导出链接

javascript - Nodejs如何在没有setTimeouts的情况下访问外部回调结果?

c++ - 为什么 Windows API 提供 2 种获取 "return"值的方法?

c - C 中的转置矩阵函数,函数接收并返回二维数组

php - 无法使用 MysqliDb 更新字段

mysql - mysql 查询总和的差异

node.js - Sequelize 和 Postgres;如何设置值边界(总最小值/mac);和/或对更新运行验证

Python:循环中的产量与打印

mysql - 将 mysql 查询转换为与 laravel 一起使用