Derzeit verwende ich viele Express-Routen. Einige der Routen können ziemlich lang sein. Eine allgemeine Route sieht wie folgt aus:Undefiniertes Argument bei Verwendung der Callback-Funktion für Express-Route
router.get('/api/comments', function(req, res, next){
Comment.find({"user": req.payload._id}).exec(function(err,comments){
if(err){return next(err); }
res.json(comments);
})
}
Das funktioniert gut. Aber ich rufe Routen mehrmals an und es kann ziemlich langwierig sein. Also versuche ich eine Callback-Funktion zu erstellen, die von den verschiedenen Routen aufgerufen werden kann. Z.B.
Allerdings werde ich immer einen Fehler "Req ist nicht definiert" in der letzten Zeile erhalten. Ich frage mich nur, was ich hier falsch mache?
Es funktioniert. Aber dann, wenn ich einige Argumente an die Funktion übergeben muss, wie mache ich das? – Sydney
@Sydney - Verwenden Sie '.bind()', um die Argumente zu binden, oder verwenden Sie eine anonyme Funktion, die nichts ausführt, indem Sie Ihre Funktion mit den gewünschten Argumenten aufrufen. – jfriend00