2016-04-07 1 views
0

ich diese Störung erhalte:Fehler zu erhalten ist neben keine Funktion in Knoten js/Express.js

next is not a function

wenn ich next(); in meinem Controller schreiben, aber kann nicht herausfinden, warum der Fehler, obwohl ich kommen definiert es in den Funktionsparametern.

Router 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"); 
}); 

Dies ist mein Router Datei, in der ich will, damit ist, synchron Funktion auszuführen, warum ich next(); verwende.

Controller.Book Funktionscode:

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"); 
       } 
     } 
});} 

Obwohl die nächste Funktion dh booking_controller.book ausgeführt wird, aber das Programm stoppt durch den Fehler geben:

next is not a function

+0

Bitte den Code richtig einrücken. Das ist nur ein Chaos. – str

+1

Ich kann 'next' nicht in Ihren Funktionsparametern definiert sehen. Könnten Sie uns bitte etwas mehr Code geben? – Pedro

+0

Entschuldigung hinzugefügt Vollständiger richtiger Code @Pedro –

Antwort

0

Sie benötigen neben als 3. Parameter übergeben der Callback-Funktion finden.

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

Verwandte Themen