我对节点js很新,我使用以下链接将节点js与postgres db连接:
How to make connection to Postgres via Node.js
在节点控制台中运行时,以下代码从DB(Postgres)中获取一些结果
var query_str = "SELECT name FROM city" ;
var pg = require('pg');
var conString = "postgres://postgres:postgres@localhost:5432/cfg";
var client = new pg.Client(conString);
client.connect();
var query = client.query(query_str);
console.log(query);
但是当我把上面的代码放在像这样的函数中并进行函数调用时
function getname()
{
var query_str = "SELECT name FROM city" ;
var pg = require('pg');
var conString = "postgres://postgres:postgres@localhost:5432/cfg";
var client = new pg.Client(conString);
client.connect();
var query = client.query(query_str);
console.log(query);
return query;
}
它返回一个空对象。是因为代码是异步的吗?如果是这样,我该如何解决这个问题。
任何人都可以帮我解决这个问题。或者如何进一步发展。感谢。
答案 0 :(得分:1)
export class ConfirmModalComponent implements AfterViewInit {
@Input() id;
public ngAfterViewInit() {
$('#first-modal-' + this.id, '#second-modal-' + this.id)
.modal({
allowMultiple: false,
closable: false,
selector: {
approve: ".actions .approve, .actions .ok",
deny: ".actions .deny"
}
});
// show first of linked modals
$('#first-modal-' + this.id)
.modal('attach events', '#deleteButton-' + this.id);
// // attach events to buttons
$('#second-modal-' + this.id)
.modal('attach events', '#first-modal-' + this.id + ' .button.approve');
}
是异步的,您的函数应该是client.query
函数,或者它应该返回callback
Promise