首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不工作module.exports

不工作module.exports
EN

Stack Overflow用户
提问于 2018-06-26 15:06:45
回答 2查看 47关注 0票数 0

文件ConnectToDB

代码语言:javascript
复制
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

代码语言:javascript
复制
var dataWithDB = require('./DataBase/ConnectToDb');

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

因此,我可以从数据库中推断出未定义的数据库,但应该从DB中提取数据。

范围内会出现错误吗?如果在文件module.exporst.result =“示例”的末尾指定数据,则会发送数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-26 17:41:41

您应该将连接到db代码封装在接受回调的函数中。

这里有一个例子,希望你能得到这个想法。:)

/数据库/ConnectToDb

代码语言:javascript
复制
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() 

}

应用程序

代码语言:javascript
复制
var connectToDb = require('./DataBase/ConnectToDb');
connectToDb((err, result) => {
    // This is a callback!
    if(err) console.log(err)
    else console.log(result)
})

进行google搜索:node.js回调模式

票数 0
EN

Stack Overflow用户

发布于 2018-06-26 17:27:08

下面是您应该做的:导入传递到查询中的不同的回调函数。此回调将执行任何您想要的结果。正如所写的,您的方法将不起作用,也没有意义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51046103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档