Je reçois cette erreur:Obtenir l'erreur suivante est pas une fonction dans le nœud js/js express
next is not a function
quand j'écris next();
dans mon contrôleur mais ne peut pas comprendre pourquoi l'erreur vient même si je défini dans la fonction params.
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");
});
Ceci est mon fichier routeur dans lequel je veux exécuter la fonction synchrone de sorte que soit la raison pour laquelle je me sers next();
.
code de fonction 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");
}
}
});}
Bien que la fonction successive booking_controller.book
est exécutée mais le programme arrête en donnant l'erreur:
next is not a function
Veuillez mettre correctement en retrait votre code. C'est juste un chaos. – str
Je ne vois pas 'next' défini dans les paramètres de votre fonction. Pourriez-vous nous fournir un peu plus de code, s'il vous plaît? – Pedro
Désolé ajouté Plein code correct @Pedro –