Обещание было создано в маршруте, но не возвращено из - PullRequest
0 голосов
/ 08 мая 2018

Я пытался найти решение для этого предупреждения, которое я получаю, но ни один из предложенных подходов не помог мне. Я не хочу отключать это предупреждение, потому что я считаю, что это предупреждение есть по какой-то причине, но я не могу понять, в чем здесь реальная сделка.

У меня есть следующий маршрут, определенный на моем сервере 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, но это не решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...