簡體   English   中英

不起作用module.exports

[英]does not work module.exports

文件ConnectToDB

var pg = require("pg");
var dataWithDB = require('./DataBase/ConnectToDb');
var pool = new pg.Pool({
host: "localhost",
port: "5432",
user: "postgres",
password: "111111",
database: "hrs"
});

pool.connect(function (err,client,done) {
if(err)console.log("connect "  + err.toString());

else
    client.query('SELECT id, "idName", "idContact", "idExperience", 
"idSkill", "dateAdded", "dateColloquy"' +
'FROM public."applicant ";',function (err,result) {

        if(err) {
            //console.log("query " + err.toString());
            exports.res = "Data NOT";
        }
        else {
            console.log(result.rows);
            module.exports.resul = result.rows;
        }
        done();
    });

});
pool.end()

文件app.js

var dataWithDB = require('./DataBase/ConnectToDb');

console.log(dataWithDB + "  wit DB");

結果給我推導出了未定義的機智數據庫,但應該來自數據庫的數據

范圍內可以有錯誤嗎? 如果在文件模塊的末尾指定,則發送數據。exporst.result=“ Example”。

這是您應該執行的操作:導入另一個傳遞給查詢的回調函數。 此回調將對結果執行任何您想要的操作。 如所寫,您的方法將不起作用並且沒有意義。

您應該將連接到數據庫的代碼封裝在需要回調的函數中。

這是一個示例,希望您能理解。 :)

./DataBase/ConnectToDb

var pg = require("pg");
module.exports = (callback) => {
    var pool = new pg.Pool({
        host: "localhost",
        port: "5432",
        user: "postgres",
        password: "111111",
        database: "hrs"
    });

    pool.connect(function (err, client, done) {
        if (err) {
            console.log("connect " + err.toString());
        } else {
            let query = 'SELECT id, "idName", "idContact",' +
                ' "idExperience","idSkill", "dateAdded", "dateColloquy"' +
                'FROM public."applicant ";'
            client.query(query, function (err, result) {
                if (err) {
                    //console.log("query " + err.toString());
                    exports.res = "Data NOT";
                    callback(err);
                }
                else {
                    console.log(result.rows);
                    callback(null, result);
                }
                done(); // Not sure what this does! :-o
            });
        }
    });
    // Is this trying to close it before we've connected? 
    // It should probably be up above...
    pool.end() 

}

應用程式

var connectToDb = require('./DataBase/ConnectToDb');
connectToDb((err, result) => {
    // This is a callback!
    if(err) console.log(err)
    else console.log(result)
})

用谷歌搜索: node.js回調模式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM