我试图找到一个解决方案,我得到了这个警告,但没有一个建议的方法对我有效。我不想禁用此警告,因为我认为这个警告是有原因的,但我无法弄清楚这里有什么真正的优惠。
我在运行express的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;
});
});
我的中间件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)
正如你所看到我试图添加"返回null;" bluebird建议的陈述,但这不能解决问题。