Просто последовательность ваших запросов. Предполагая, что второй запрос зависит от первого, вы можете упорядочить их следующим образом:
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 => {
return db.sequelize.query(your second query).then(results => {
res.json({member: members[0], otherResults: results})
});
}).catch(err => {
res.status(500).send("error: " + err)
});
});
Или вы можете использовать async/await
следующим образом:
router.get("/members", async (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;
try {
let members = await db.sequelize.query(
"SELECT id, mbr_id, mbr_name, mbr_type " +
"FROM tbl_members " +
"LIMIT " + pageSize + " " +
"OFFSET " + skip
);
let otherResults = await db.sequelize.query(your second query);
res.json({member: members[0], otherResults: otherResults});
} catch(err) {
res.status(500).send("error: " + err)
}
});
Или, еслиЗапросы БД полностью независимы друг от друга, вы можете использовать Promise.all()
, чтобы отслеживать, когда они оба были выполнены.