к БД. Раньше я использовала Firebird и с этим файлом не было проблем. Сейчас использую MySQL и он что-то не так работает.
module.exports = function (conn) {
var query = sqlQuery => new Promise((resolve, reject) => {
conn.query(sqlQuery, (err, res) => {
if (err) reject(err)
conn.commit(error => error ? reject('err') : resolve('res'))
})
});
return {
numberClass: () => query(`SELECT * FROM kurs.class;`),
}
}
Я данный файл объявила в основном файле app.js и тут вызываю:
app.get('/students', checkAuthenticated, (req, res) => {
var сlasses = operations.numberClass();
console.log(сlasses.length);
req.isAuthenticated() ? res.render('students', {
сlasses: JSON.parse(JSON.stringify(сlasses)),
name: req.user.name
}) : res.redirect('/login');
});
Судя из лога БД, запрос до нее дошел, но она по всей видимости не отправила данные, потому что classes - inderfined. В чем может быть причина?
Потому что operations.numberClass() асинхронный метод. Либо then/catch, либо async/await ps воу, кто-то работает с firebird, сегодня, в вебе)
Обсуждают сегодня