Javascript 如何获取父对象(模块NodeJS)的函数

Javascript 如何获取父对象(模块NodeJS)的函数,javascript,node.js,oop,Javascript,Node.js,Oop,我正在开发一个nodejs模块,该模块将处理一个项目的所有SQL内容,我的语言有问题,javascript中没有父关系,我无法复制我的连接,否则会出现握手错误,因此如何在不实例化setup对象的情况下引用此.connection 我知道这个问题可能有点宽泛,但如果有人有解决这个问题的方法或想法,我很想听听,所以请随意提出建议 以下是我当前的代码: require("dotenv").config(); const mysql = require("mysql"); const sqlstring

我正在开发一个nodejs模块,该模块将处理一个项目的所有SQL内容,我的语言有问题,javascript中没有父关系,我无法复制我的连接,否则会出现握手错误,因此如何在不实例化setup对象的情况下引用此.connection

我知道这个问题可能有点宽泛,但如果有人有解决这个问题的方法或想法,我很想听听,所以请随意提出建议

以下是我当前的代码:

require("dotenv").config();
const mysql = require("mysql");
const sqlstring = require("sqlstring");

function setup(){
    this.connection = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password : process.env.PASSWORD,
        database : 'DISCORD'
    }), 
    this.connect = function(){
        this.connection.connect(function(err){
            if(err){
                throw err;
            }
        });
    },
    this.makeRequest = function(requestName, param){
        this.connection.query("SELECT SQLQUERY FROM QUERYLIST WHERE NAME = " + this.formatString(requestName),function(err, result){
            if(err){
                throw err;
            } else{
                 //-------- CAN'T CALL THIS NOT IN SETUP OBJECT ANYMORE
                this.connection.query(result[0].SQLQUERY + this.formatString(param), function(err2, result2){
                    return result2;
                });
            }
        });
    },
    this.formatString = function(string){
        return sqlstring.escape(string);    
    }
}
我想过要做这样的东西,但没用

this.makeRequest = function(requestName, param){
    this.connection.query(result[0].SQLQUERY + this.formatString(param),this.test);
},
this.test = function(err, result){
    //stuff
}

我认为您正在寻找的是跨不同模块重用mysql连接。有一个类似的问题说明了如何做到这一点:

请确保您只设置了一次mysql连接,并让其他所有内容都重用此连接。换句话说,使用
Pool
变量从中创建一个单例