В моем проекте у меня есть 2 разные функции, выступающие в качестве промежуточного программного обеспечения, которые находятся в отдельном файле в отдельном каталоге, и я импортировал их в свои файлы маршрутов. Однако одна из функций выполняется правильно, в то время как другая выдает ошибку
Первая функция промежуточного программного обеспечения (которая работает правильно): -
isLoggedIn : function(req,res,next){
if(req.isAuthenticated()){
return next();
}
res.redirect("/login");
},
Другая функция (не работает) : -
checkCampgroundOwnership : function(req,res,next){
if(req.isAuthenticated()){
Campground.findById(req.params.id, function(err,foundCamp){
if(err){
res.redirect("back");
}
else{
if(foundCamp.author.id.equals(req.user._id)){
return next();
}
else{
res.redirect("back");
}
}
})
}
else{
res.redirect("back");
}
}
Я использую их в своих маршрутах следующим образом: -
router.post("/", middleware.isLoggedIn, function(req,res){
req.body.description = req.sanitize(req.body.description);
Campground.create(req.body.camp, function(err,created){
if(err){
console.log(err);
}
else{
created.author.id = req.user.id;
created.author.username = req.user.username;
created.save();
res.redirect("/campgrounds");
}
})
})
router.put("/:id", middleware.checkCampgroundOwenership, function(req,res){
Campground.findByIdAndUpdate(req.params.id, req.body.camp, function(err,result){
if(err){
console.log(err)
}
else{
res.redirect("/campgrounds/"+ req.params.id);
}
})
})
Возникает следующая ошибка: -
Ошибка: Route.get () требует функции обратного вызова, но получил [объект не определен]
В чем проблема и как ее решить