javascript - 无法通过子函数调用从数据库中检索 Nodejs MySQl 数据
问题描述
我有两个名为login.js
和的文件dbMySql.js
。
login.js
是将要运行的主文件dbMySql.js
,它是数据库连接的子模块。
我可以getQuery()
使用dbMySql.js
.object.method call
getQuery()
也可以正常工作并从数据库中检索数据。
如何从数据库模块将此数据获取到我的主模块?如何将变量返回到模块res
中的主函数login.js
login.js的代码:
var MySqlConnect = require('./dbMySql');
var app = express();
var dbConnect = MySqlConnect("localhost", "root", "root", "mydb");
dbConnect.getQuery("select * from `test`");
console.log(dbConnect.resD);
dbMySql.js的代码:
function MySqlConnect(dbhost, dbuser, dbpassword, dbname) {
var MySqlConnect = require('mysql');
var con;
this.dbhost = dbhost;
this.dbuser = dbuser;
this.dbpassword = dbpassword;
this.dbname = dbname;
this.resultData = 'Def';
con = MySqlConnect.createConnection({
host: dbhost,
user: dbuser,
password: dbpassword,
database: dbname
})
con.connect(function (err) {
if (err) throw err;
})
function getQuery(query1) {
con.query(query1, function (err, res) {
if (err) throw err;
})
return {
resD: res
};
}
return {
getQuery: getQuery,
};
};
module.exports = MySqlConnect;
我希望通过返回方法或任何将成功运行的方法在主模块中检索数据。
解决方案
我通过运行和努力找到了不同的简单答案。
只需将 res form db 传递给回调函数参数并从主模块运行此功能
推荐阅读
- python - 使用pyqt5注释图像时如何获取打印的特定照片路径?
- javascript - 暂停自动播放的 html 视频?
- node.js - 由于第一行的注释,无法将文件的内容解析为 JSON
- javascript - Vuejs,从 chrome 检查器控制台设置绑定到模型的输入值
- .htaccess - .htaccess 文件返回 500 内部服务器错误
- javascript - 将 Object.entries(myObject) 输出包装在 html 标记内
- php - PHP从MySQL数据库解码带有百分号的字符
- node.js - 一堆随机值二进制文件是由 git 或 nextJS 生成的,我认为当我提交时
- sql - Teradata SQL 助手 - NOT EXISTS、INNER JOIN、IN 或其他方式
- android - 我的通知侦听器应用程序未在后台保存通知