Я использую модули npm sqlite3 .
Если кто-то откроет мой сайт, я хочу выполнить 2 sqlite-запроса.Если в первом или втором запросе возникает ошибка, я хочу, чтобы экспресс-приложение ответило кодом состояния 404 и некоторым текстом.
Проблема: я не могу вернуться из всего этого.Если в первом и втором запросах есть ошибки, будет выполнено и res.status(404).end
.И попытка вызвать end () 2 раза приведет к сбою приложения.
router.get("/", (req, res) => {
//...
db.serialize(() => {
db.run("INSERT INTO modul...", (err) => {
if (err) { res.status(404).end("An error occured during insertion"); return; }
});
db.get("SELECT * FROM modul...", (err, row) => {
if (err) { res.status(404).end("An error occured during selection"); return; }
res.json({ module: row });
});
});
});
Я знаю, что я нахожусь в асинхронном вызове, и это не работает из-за этого, но я не знаю, как это сделатьрешить эту проблему.