Мне нужна помощь в сравнении возвращаемого значения в асинхронной функции. У меня всегда есть "Обещание {}". Я уже пробовал разные подходы с разными результатами, но никогда не то, что мне нужно. Это код, который у меня есть.
async function isType(username) {
const result = await db.query('select * from users where username=?', [username])
return await result[0].type;
}
module.exports = {
isLoggedIn(req, res, next) {
if (req.isAuthenticated() && isType(req.user.username)==0) {
return next();
}
return res.redirect('/');
}
};
Я также попробовал вместо этого что-то вроде этого:
isLoggedInAdmin(req, res, next) {
isType(req.user.username).then(result => {
if (req.isAuthenticated() && result==0) {
return next();
}
})
return res.redirect('/');
}
Но в этом случае ошибка «Ошибка [ERR_HTTP_HEADERS_SENT]: невозможно установить заголовки после их отправки клиенту»
Любая помощь очень ценится. Спасибо.