Node.js expressjsmongodb异步等待

Node.js expressjsmongodb异步等待,node.js,mongodb,express,asynchronous,mongoose,Node.js,Mongodb,Express,Asynchronous,Mongoose,在mongoose从数据库获取数据之前,谁能帮助我问题视图是在哪里生成的。我已经使用了wait,但不是等待响应 router.get('/', async(req, res, next)=> { try{ const products = await Product.find({}); res.render('shop/index', { title: 'Express',products }); }catch(e){ con

在mongoose从数据库获取数据之前,谁能帮助我问题视图是在哪里生成的。我已经使用了wait,但不是等待响应

router.get('/', async(req, res, next)=> {
    try{
        const products = await Product.find({});
        res.render('shop/index', { title: 'Express',products });
    }catch(e){
        console.log(e);
    }

});

你可以这样做

router.get('/', async(req, res, next)=> {
    try{
        Product.find({}).then(products => {
          res.render('shop/index', { title: 'Express',products });
        });
    }catch(e){
        console.log(e);
    }

});

我知道你想做这样的事:

  router.get('/', async(req, res, next)=> {
      let products
      try{
          products = await Product.find({});
      }catch(e){
          console.log(e);
      }

      res.render('shop/index', { title: 'Express',products });
  });

但据我所知,使用这种语法的原因是cristmas回调树。

您是如何得出它没有等待响应的结论的?我需要在获取所有产品信息后查看渲染尝试在渲染前使用
控制台记录产品。log