最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在一个Express Router.get中执行更多查询

运维笔记admin9浏览0评论

如何在一个Express Router.get中执行更多查询

如何在一个Express Router.get中执行更多查询

router.get("/members", (req, res) => {
  let page = req.query.page;
  let pageSize = req.query.pageSize;

  if (typeof page === "undefined") {
    page = 0;
  } else {
    page -= 1;
  }

  if (typeof pageSize === "undefined") {
    pageSize = 5;
  }

  var skip = page * pageSize;

  db.sequelize.query(
    "SELECT id, mbr_id, mbr_name, mbr_type " +
    "FROM tbl_members " +
    "LIMIT " + pageSize + " " +
    "OFFSET " + skip
  )
  .then(members => {
      res.json(members[0])          
  })
  .catch(err => {
      res.send("error: " + err)
  })
})
回答如下:

您有一个以上的选择:

  1. async/await https://developer.mozilla/en-US/docs/Web/JavaScript/Reference/Statements/async_function
  2. Promise.all(query1, query2) https://developer.mozilla/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
  3. 您可以链接Promises

这取决于您想要的方式和适合您的感觉。我认为没有正确的方法,但是从我的角度来看,我会选择async/await,这样可以生成更清晰的代码,但也有一些陷阱。

发布评论

评论列表(0)

  1. 暂无评论