gpt4 book ai didi

javascript - 尝试使用 Promise 从不同查询获取数据以在页面上呈现

转载 作者:行者123 更新时间:2023-11-28 05:44:20 25 4
gpt4 key购买 nike

我尝试做如下的事情。问题是 console.log(reviews) 输出 undefind 我希望定义它,以便我可以在渲染中使用它。它可能是未定义的,因为该变量由于异步事件而未设置。

app.get("/company/:comp", checkIfAuthed , function(req,res){

var reviews;
Reviews.find({companyName : req.params.comp}).exec()
.then(function(reviews){
reviews = reviews;
return Comps.findOne({name : req.params.comp}).exec();
})
.then(function(comp){
console.log(reviews)
res.render("indivComp", {authed :app.locals.authed, user : app.locals.user, comp : comp, reviews : reviews})
})
})

最佳答案

问题是您在 .then 内有 reviews 作为参数,这意味着外部 reviews var 被参数屏蔽...将参数名称更改为其他的东西,例如x,然后更改下一行reviews = x;

app.get("/company/:comp", checkIfAuthed , function(req,res){

var reviews;
Reviews.find({companyName : req.params.comp}).exec()
.then(function(x){
reviews = x;
return Comps.findOne({name : req.params.comp}).exec();
})
.then(function(comp){
console.log(reviews)
res.render("indivComp", {authed :app.locals.authed, user : app.locals.user, comp : comp, reviews : reviews})
})
})

关于javascript - 尝试使用 Promise 从不同查询获取数据以在页面上呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38669835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com