我收到此错误:
下一个不是功能
当我在我的控制器中写next();
但是无法弄清楚为什么即使我在函数参数中定义它也会出现错误。
路由器Js:
router.post('/era',controlleri.book,booking_controller.book,function(req,res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('okay');
console.log("done in server.js");
});
这是我的路由器文件,我想在其中同步执行功能,这就是我使用next();
的原因。
Controller.Book功能代码:
module.exports.book=function(req,res,next){
var dates=req.body.dates;
var times=req.body.times;
var result="yes";
var query=`dates.${dates}.${times}.ava`;
db.mohd.find({[query]:result},{userid:1,_id:0},function (err, docs) {
if(err){
res.send(404);
}else if(docs==null){
res.send(404);
}else{
if(req.body){
var thid=req.body.therapist_id;
var dates=req.body.dates;
var times=req.body.times;
var query=`dates.${dates}.${times}.ava`;
db.mohd.update( { userid: thid },
{ $set: { [query]: "no" } }, function () {
console.log("updated");
});
**next();** //Here the error occurs
}else{
res.send("Get the F out of here");
}
}
});}
虽然执行了下一个函数,即booking_controller.book
,但程序因错误而停止:
下一个不是功能
答案 0 :(得分:0)
你需要传递next作为find回调函数的第3个参数。
功能(错误,文档,下一个){...}