2016-04-07 7 views
0

私はこのエラーを取得していませんそれを関数paramsで定義しました。は、ノードjsの中の関数/急行JS

ルータの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();を使用していますなぜ私はthatsのように、同期機能を実行したい私のルーターファイルです。次の関数はすなわちbooking_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"); 
       } 
     } 
});} 

Controller.Book機能コードは

next is not a function

+0

コードを正しくインデントしてください。これはちょうど混乱です。 – str

+1

関数のparamsに 'next'が定義されていません。もう少しコードをお願いしますか? – Pedro

+0

申し訳ありません、完全なコード@Pedro –

答えて

0

あなたは3番目のパラメータとして次渡す必要がありますfindコールバック関数の

function(err, docs, next) { ... }

関連する問題