Node / Express在同一个html文件上呈现多个postgres查询

时间:2018-08-04 17:11:12

标签: node.js express

我有一个查询,该查询从我的数据库返回结果,但是我看不到如何从多个查询中给我结果。

router.get("/", function(req, res) {
  pg.query("SELECT * from tic", (err, done) => {
    if (err) {
      console.log(err);
    }
    res.render("index", { tic: done.rows });
  });
});

我一直在尝试这种方法,但是由于他的render语句位于查询中,因此无法使它正常工作,当我将其移出查询时,我可以获取该渲染器以查看结果

router.get("/", function(req, res) {
  pg.query("SELECT * from tic", (err, tic) => {
    if (err) {
      console.log(err);
    }
  pg.query("SELECT * from tac", (err, tac) => {
    if (err) {
      console.log(err);
    }
  });
  res.render("index", { tic: tic.rows }, { tac: tac.rows});
});

1 个答案:

答案 0 :(得分:0)

您只需要在第二个查询执行后进行渲染即可。为此,您必须在第二个查询的回调中进行渲染。

router.get("/", function(req, res) {
  pg.query("SELECT * from tic", (err, tic) => {
    if (err) {
      console.log(err);
    }
  pg.query("SELECT * from tac", (err, tac) => {
    if (err) {
      console.log(err);
    }
    res.render("index", { tic: tic.rows }, { tac: tac.rows});
  });

});