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() 的结果(调用时没有参数),这会引发你的错误。
所以我一直在网站上搜索解决方案,发现了一些以前对用户有用的东西,并试图复制它是如何完成的,只是为了使用回调函数来测试 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() 的结果(调用时没有参数),这会引发你的错误。