#javascript
#javascript
Вопрос:
С некоторых пор у меня такая ошибка в консоли, и я действительно не понимаю, что происходит и как я должен это исправить. Ошибка:
может кто-нибудь показать мне, как написать это лучше?
Warning: a promise was created in a handler at /Users/pietrzakadrian/Desktop/bankApplicationOfficial/server/controllers/user.controller.js:119:16 but was not returned from it, see
at Function.Promise.attempt.Promise.try (/Users/pietrzakadrian/Desktop/bankApplicationOfficial/node_modules/bluebird/js/release/method.js:29:9)
и это мой код, и я добавил комментарий к строке, где должна быть ошибка?
// Login Action
exports.login = (req, res) => {
function getTodayDate() {
const today = new Date();
return today;
}
function getToken(userId) {
const token = jwt.sign(
{
id: userId,
},
env.SECRET_KEY,
{
expiresIn: '60min',
},
);
return token;
}
User.findOne({
where: {
login: req.body.login,
},
})
.then(isUser => {
if (isUser) {
if (bcrypt.compareSync(req.body.password, isUser.password)) {
User.update( // <- this
{
last_present_logged: getTodayDate(),
},
{ where: { login: req.body.login } },
).then(() => {
res.status(200).json({
success: true,
token: getToken(isUser.id),
});
});
} else {
User.update(
{
last_failed_logged: getTodayDate(),
},
{ where: { login: req.body.login } },
).then(() => {
res.status(200).json({
error: 'Auth failed. The password is incorrect.',
success: false,
});
});
}
} else {
res
.status(200)
.json({ error: 'Auth failed. User does not exist', success: false });
}
})
.catch(() => {
/* just ignore */
});
};
Комментарии:
1. Мне кажется, что у вас есть уловка без попытки.
Ответ №1:
В документации Bluebird (ознакомьтесь с примерами в: раздел Объяснения предупреждений гласит :
Обычно это означает, что вы просто забыли где-то оператор return, что приведет к невыполнению обещания, которое не связано ни с какой цепочкой обещаний.