繁体   English   中英

如何将查询结果转换为js变量(JavaScript)

[英]How to turn a query result into a js variable (Javascript)

我一直在搜索这一天,基本上我没有希望。 我要做的就是将查询结果导出为字符串(基本上是dataString),这样我就可以将字符串导出为我的外部.js文件。

module.exports.getKlanten = function(req, res){
console.log("zoekt naar klanten");
pool.connect(function(err, client, done){
    if(err){
        return console.error('error fetching client from pool', err);
    }
    client.query("select * from abc.relations limit 5", function(err,result){
        done();
        if(err){
            return console.error('error running query', err);
        }            
        var dataString = JSON.stringify(result.rows);
        var count = Object.keys(result.rows).length;

        var klanten = result.rows;

        res
        .status(200)            
        .render("index", {dataString: dataString, klant: klanten, count: count});        

    console.log("done");
    })        
});

}

然后我必须在js文件中做什么才能导入字符串? 看起来很简单,但我似乎做不到。

就像这样

module.exports.getKlanten = function(req, res){
console.log("zoekt naar klanten");
return "Hello world"; }

然后在您的外部.js文件中,您可以像这样导入它

const myModule = require('./JSFile');

像这样使用

console.log(myModule.getKlanten());

另外,请使用return语句,以便变量中包含字符串。

我假设您需要在其他地方以及http处理程序的外部使用相同的功能,因此请将其分为三个文件。

 //getKlanten.js module.exports.getKlanten = function(){ return new Promise(function (resolve, reject) { pool.connect(function(err, client, done){//make sure pool is avialble here if(err){ console.error('error fetching client from pool', err); reject(err); } client.query("select * from abc.relations limit 5", function(err,result){ if(err){ console.error('error running query', err); reject(error); } var dataString = JSON.stringify(result.rows); var count = Object.keys(result.rows).length; var klanten = result.rows; var data = {dataString: dataString, klant: klanten, count: count} resolve(data); }) }); }) } //in external.JS var getKlanten = require('getKlanten'); getKlanten().then(function(object) { console.log(object); }, function(err){ console.log(err); }) //in http handler file var getKlanten = require('getKlanten'); module.exports = function(req,res) { getKlanten().then(function(data) { res .status(200) .render("index", data); }); } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM