【问题标题】:How to assign query result to a global parameter in node.js如何将查询结果分配给 node.js 中的全局参数
【发布时间】:2015-05-26 22:47:50
【问题描述】:

我在将 postgre DB 查询的结果转换为参数时遇到了一些问题。 我正在使用带有 pg 的 node.js,我想从中从数据库中获取一个值并将其分配给一个参数并稍后在其他一些函数中使用它。

我的代码如下所示:

var result2 = '';
var pg = require('pg');
var conString = "pg://user:@localhost:5432/db";
var client = new pg.Client(conString);
client.connect();
var query = client.query('SELECT * FROM islocked');
query.on("row", function (row, result) {
result.addRow(row);
});
query.on("end", function (result) {
console.log("test: " + JSON.stringify(result.rows));
result2 = result.rows;
});

问题是 result2 永远不会用新值更新。为什么?我该怎么做?

谢谢!

【问题讨论】:

    标签: node.js postgresql


    【解决方案1】:

    你确定吗?

    我猜您可能正在尝试在代码末尾执行 console.log(),如果是这种情况,您正在检查 result2 值 之前 所有查询结果数据收集,因此,在以任何方式更改 result2 值之前。

    试试这个,而不是简单的 console.log():

    setTimeout(function(){
        console.log(result2);
    }, 3000 // 3 secs. Increase to enought time to complete query execution if needed.
    );
    

    【讨论】:

      【解决方案2】:

      我使用文件而不是连接到数据库或 API 来做到这一点。

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多