最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Node + Express

IT培训 admin 16浏览 0评论

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

我正在尝试使用从本地数据库获取的数据表来呈现视图。查询和所有数据以我想要的格式签出。但是在获取数据之前,呈现了视图,并且出现错误。

这是我的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');
      }
}; 

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论