【发布时间】:2015-05-09 19:49:21
【问题描述】:
我有一个函数可以查询我的数据库并返回结果。但是无论我返回什么,它都是未定义的。
服务器代码:我在这里调用我的函数
var express = require('express');
var DBmodule = require('./db.js');
var router = express.Router();
router.get('/topics', function(req,res){
res.send(DBmodule.getTopics()); //Call to db.js - This returns undefined
});
db.js 代码
var mysql = require('..\\node_modules\\mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'password'
});
exports.getTopics = function(){
connection.connect();
connection.query('USE db');
var strQuery = "SELECT * FROM topics";
connection.query(strQuery, function(err, rows){
if(err){
throw err;
}else{
return rows;
}
});
connection.end();
};
让我感到困惑的是,如果我在 getTopics 函数中 console.log 行,我会得到正确的结果。但是在服务器代码中,我得到的只是未定义的。
从我的搜索中,我认为它可能有一些回调要做,但无论如何我无法让它工作。有什么建议吗?
【问题讨论】:
-
exports.getTopics = function ( res) then res.rows;
标签: javascript mysql node.js