如何将查询结果分配给node.js中的全局参数

时间:2015-05-25 12:56:49

标签: node.js postgresql

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

我的代码如下所示:

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永远不会使用新值进行更新。为什么?我怎么能这样做?

谢谢!

2 个答案:

答案 0 :(得分:0)

你确定吗?

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

尝试使用此代替简单的console.log():

Rect r = new Rect();
Log.d("r", r.toString());     // Rect(0, 0 - 0, 0)
Bundle bundle = new Bundle();
bundle.putParcelable("KEY", r);
Rect r2 = bundle.getParcelable("KEY");
r2.set(100, 100, 100, 100);
Log.d("r", r.toString());     // Rect(100, 100 - 100, 100)
Log.d("r2", r2.toString());   // Rect(100, 100 - 100, 100)

答案 1 :(得分:-1)

我使用文件而不是连接到数据库或API。