Я пытался найти решение для этого предупреждения, которое я получаю, но ни один из предложенных подходов не помог мне. Я не хочу отключать это предупреждение, потому что я считаю, что это предупреждение есть по какой-то причине, но я не могу понять, в чем здесь реальная сделка.
У меня есть следующий маршрут, определенный на моем сервере node.js, на котором выполняется экспресс:
// GET all items
router.get('', helpers.loginRequired, function(req, res) {
debug("Get all items");
return knex.select('*').from('routes')
.then((routes) => {
res.send(routes);
return null;
})
.catch((err) => {
debug("error getting routes");
res.send({ error: "Fehler beim Laden" });
return null;
});
});
Мой Middleware loginRequired вообще не использует никаких обещаний
function loginRequired(req, res, next) {
if (!req.user) {
req.flash('loginMessage', 'Du musst eingeloggt sein!');
req.session.redirectTo = req.path;
return res.redirect('/');
} else {
return next();
}
}
Я использую knex для доступа к моей базе данных, которая создает обещания.
И каждый раз, когда я вхожу в маршрут, я получаю следующее предупреждение:
(node:10568) Warning: a promise was created in a handler but was not returned fr
om it, see *link*
at Function.Promise.attempt.Promise.try (C:\Users\qxr1088\Desktop\Privat\GPS
\bibis-tracker\node_modules\bluebird\js\release\method.js:29:9)
Как видите, я попытался добавить "return null;" заявления, как это предложено Bluebird, но это не решает проблему.