node-mysql回调不是函数

时间:2017-05-14 15:12:09

标签: node.js express node-mysql

所以我一直在网站上寻找灵魂,并且遇到过一些以前对用户有用的东西,并尝试复制它是如何完成的,只是为了测试使用回调函数来返回查询的结果工作,但我遇到了问题。这是我的代码

dbfunctions.js

   const connection = require('../helpers/connection');

   function getUserInfo(userID, dynamicField, callback) {
    var query = connection.query("SELECT * FROM subgutter WHERE name = 'random'");
    query.on('result', function(row) {
        callback(null, "row.dynamicField");
    });
  };

  module.exports = getUserInfo();

g.js

const express = require('express');
const router = express.Router();
const connection = require('../helpers/connection');
const dbfunctions = require('../helpers/dbfunctions.js');

 dbfunctions.getUserInfo(8, "test", function(err, result) {
    console.log(err || result);
});
这是给我的    在dbfunctions.js中回调不是函数

不确定如果有人能告诉我如何改进这个问题,为什么还会投票呢?我很感激..?

1 个答案:

答案 0 :(得分:2)

您必须将getUserInfo导出为module.exports.getUserInfo = getUserInfo;module.exports = {getUserInfo:getUserInfo}。在你的情况下,module.exports是getUserInfo()的结果(不带参数调用),这会抛出你的错误。