Node.js expressjsmongodb异步等待
在mongoose从数据库获取数据之前,谁能帮助我问题视图是在哪里生成的。我已经使用了wait,但不是等待响应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
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