如何在一个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)
})
})
回答如下:您有一个以上的选择:
async/await
https://developer.mozilla/en-US/docs/Web/JavaScript/Reference/Statements/async_functionPromise.all(query1, query2)
https://developer.mozilla/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all- 您可以链接
Promises
这取决于您想要的方式和适合您的感觉。我认为没有正确的方法,但是从我的角度来看,我会选择async/await
,这样可以生成更清晰的代码,但也有一些陷阱。
与本文相关的文章
评论列表(0)
- 暂无评论