我试图在与AWS RDS Postgresql交互的NodeJS EC2服务器上实现回调。我不太清楚它是如何完成的。 AWS-SDK的RDS模块中似乎有一个EventEmitter方法。它专为所有RDS实例类型设计,如MySQL,Aurora等。不是专门用于postgres。我试图做的就是在INSERT或DELETE查询后进行某种回调。
答案 0 :(得分:1)
如果您的postgres是ECD上的RDS或独立,则不具体。 你需要
var pg = require('pg');
var dbe={"result":null};
function Q(sqlQuery,callback) {
/* async, vulnerable, simple */
var conString = "postgres://"+dbUser+":"+dbPass+"@"+dbHost+":"+dbPort+"/"+dbName+"?ssl=true";
pg.connect(conString, function(err, client, done) {
if(err) {
return console.error('error fetching client from pool', err);
}
client.query(sqlQuery, function(err, result) {
done();//call `done()` to release the client back to the pool
if(err) {
return console.error('error running query', err);
}
dbe.result = result;
//console.log(JSON.parse(result.setEncoding('utf8');));
callback();
});
});
}
并致电
var res = Q('select now()', function(a) {console.log(dbe.result)});
或类似 - 我没有游乐场来测试atm