Node + Express"/>
Node + Express
我正在尝试使用从本地数据库获取的数据表来呈现视图。查询和所有数据以我想要的格式签出。但是在获取数据之前,呈现了视图,并且出现错误。
这是我的route.js,我希望在其中找到错误。
exports.getIndex = (req, res) {
//let data = xlReader.GetSubscribers()
const result = sqldb.GetSubscribers()
try{
res.render('subscribtions/index', {
moment: moment,
subs : result,
pageTitle: 'Subscribtions',
path: '/subscribtions'
})
}
catch(error)
{
console.log(error)
res.redirect(404, '../views/404.ejs');
}
};
到目前为止,我一直在尝试找出如何使用async / await或Promise,但是没有任何运气。你们中任何一个有头脑的人都能指出我正确的方向吗?
回答如下:原因可能是db调用是异步的,并且由于您不等待它,所以它将在完全提取数据之前返回渲染的视图。
因此,您需要等待对数据库的调用。鉴于该函数是可以等待的:
exports.getIndex = async (req, res) => {
//let data = xlReader.GetSubscribers()
const result = await sqldb.GetSubscribers()
try{
res.render('subscribtions/index', {
moment: moment,
subs : result,
pageTitle: 'Subscribtions',
path: '/subscribtions'
})
}
catch(error)
{
console.log(error)
res.redirect(404, '../views/404.ejs');
}
};
更多推荐
Node + Express
发布评论