У меня есть пост-маршрут Node.js, в котором я выполняю несколько запросов последовательно с async / await.
router.post("/foo", async (req, res) => {
const qr1 = "str1";
await db.query(qr1); // Works fine
const qr2 = "str2";
await db.query(qr2); // Works fine
const qr3 = "str3";
await db.query(qr3, async (err, result) => {
if (err) {
console.log(err);
}
if (result.length > 0) {
// Required data is received – That part works
// do something and continue to step 4
}
});
// step 4 – Never gets here
});
Все запросы, которые выполняют манипуляции с таблицами, т.е. удаляют, вставляют и т. Д., Работают нормально. Как только я получаю запрос на выборку, я получаю необходимые данные, но мне нужно перейти к следующему шагу, который не происходит. Я знаю, что могу выполнить то, что мне нужно, вложив шаг 4 в шаг 3, но я хотел бы знать, есть ли другой способ сделать это.