2017-09-10 41 views
0

我正在處理一個nodejs模塊,它將處理我的一個項目的所有SQL東西,而且我的語言有問題,JavaScript中沒有父關係,並且我無法複製我的連接,或者我會得到一個握手錯誤,所以如何在不實例化安裝對象的情況下對this.connection進行引用。如何獲取父對象(模塊NodeJS)的功能

我知道這個問題可能有點寬,但如果有人有解決方案或想法來解決這個問題,我想聽到它,所以隨時提出的東西!

這裏是我當前的代碼:

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 
} 

回答