首页 > 解决方案 > 无法通过子函数调用从数据库中检索 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;

我希望通过返回方法或任何将成功运行的方法在主模块中检索数据。

标签: javascriptmysqlnode.jscallback

解决方案


我通过运行和努力找到了不同的简单答案。

只需将 res form db 传递给回调函数参数并从主模块运行此功能


推荐阅读