Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Node/Express在同一html文件上呈现多个postgres查询_Node.js_Express - Fatal编程技术网

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

Node.js Node/Express在同一html文件上呈现多个postgres查询,node.js,express,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, done) => {
    if (err) {
      console.log(err);
    }
    res.render("index", { tic: done.rows });
  });
});
我试着这样做,但无法让它工作,因为render语句在查询中,我可以让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});
});

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

router.get(“/”,函数(req,res){
pg.query(“从tic中选择*,(err,tic)=>{
如果(错误){
控制台日志(err);
}
pg.query(“从tac中选择*,(错误,tac)=>{
如果(错误){
控制台日志(err);
}
res.render(“index”,{tic:tic.rows},{tac:tac.rows});
});
});
});

将两个查询包装在承诺中,并在两个查询完成后合并它们的结果