我有一个nodejs应用程序,并且我试图将一个称为Membership的值传递给页面。我对其进行了初始化,并尝试在函数中更新其值,但输出未更改。它仍然输出0。请我帮忙
app.get("/",(req,res)=>{
var membershipStrength = 0;
memberData.findAll()
.then(members =>{
// console.log(members.length);
membershipStrength = members.length;
console.log(membershipStrength);
})
.catch(err => {
console.log("Error fetching members data: ", err);
});
console.log(membershipStrength);
return res.render("index",
{
page: "Admin",
membershipStrength: membershipStrength,
// tableData : global.dataOut
}
);
});
答案 0 :(得分:0)
您正在调用render
函数,然后再完成对findAll
的调用。因此,当您的服务器响应HTTP请求时,它仍然具有membershipStrength
的原始值。
您需要在render
处理程序中将对then
的调用:
app.get("/",(req,res)=>{
var membershipStrength = 0;
return memberData.findAll()
.then(members =>{
// console.log(members.length);
membershipStrength = members.length;
console.log(membershipStrength);
return res.render("index",
{
page: "Admin",
membershipStrength: membershipStrength,
// tableData : global.dataOut
}
);
})
.catch(err => {
console.log("Error fetching members data: ", err);
});
});