node-mysql 回调不是函数

node-mysql callback is not a function

所以我一直在网站上搜索解决方案,发现了一些以前对用户有用的东西,并试图复制它是如何完成的,只是为了使用回调函数来测试 return查询的结果会起作用,但我遇到了问题。这是我的代码

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 回调不是函数

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

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