接下来获取错误不是节点js / express js中的函数

时间:2016-04-07 07:53:41

标签: node.js express next

我收到此错误:

  

下一个不是功能

当我在我的控制器中写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,但程序因错误而停止:

  

下一个不是功能

1 个答案:

答案 0 :(得分:0)

你需要传递next作为find回调函数的第3个参数。

  

功能(错误,文档,下一个){...}