【问题标题】:Return MySQL result after query execution using node.js使用 node.js 执行查询后返回 MySQL 结果
【发布时间】:2018-03-06 15:05:06
【问题描述】:

我想将 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;
   }
};

【问题讨论】:

  • 在回调中移动this.pushResult();
  • @RolandStarke,抱歉我已经更新了我的代码。
  • @RolandStarke 仍有问题。

标签: mysql node.js return return-value


【解决方案1】:

只是先做了一个回调函数:

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);
    });

});

【讨论】:

    猜你喜欢
    • 2013-08-24
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多