我正在尝试使用带有pg包和angular的nodejs从postgres数据库中获取数据。
当我对数据库进行足够快速的调用(两次或多次)时,我会为每个连续的响应得到混乱的结果(有些加倍,三倍......)。
来自angular的调用是最简单的
var pg = require('pg');
var config = {
host: '***',
user: '**',
password: '**',
database: '**',
ssl: true
};
var conString = process.env.DATABASE_URL || config;
var client = new pg.Client(conString);
client.connect();
appointments = [];
var queryString = "SELECT * FROM appointments;"
var query = client.query(queryString);
query.on("row", function(row) {
appointments.push(row);
});
query.on("end", function() {
client.end();
res.send(appointments);
});
和一个节点方(通过护照和快递)
Watch History
,结果如下所示(db记录实际上是502): enter image description here
答案 0 :(得分:0)
自从它解决了您的问题后,我的评论就成了答案。
看起来您可能需要正确地将appointments
变量声明为局部变量,这样就不会在同时处于飞行中的不同请求处理程序之间无意中共享 - 允许一个请求处理程序覆盖来自另一个人的数据。
仅供参考,如果您将代码置于严格模式,那么它会立即将这些错误标记为错误。