我查了JavaScript函数和参数,但找不到任何东西来帮助我理解下面的函数。您可以参考original tutorial。这三个JavaScript函数参数是如何使用的?
createPuppy有三个参数:req,res和next。
function createPuppy(req, res, next) {
req.body.age = parseInt(req.body.age);
db.none('insert into pups(name, breed, age, sex)' +
'values(${name}, ${breed}, ${age}, ${sex})',
req.body)
.then(function() {
res.status(200)
.json({
status: 'success',
message: 'Inserted one puppy'
});
})
.catch(function (err) {
return next(err);
});
}
这个函数被调用由路由器:
var express = require('express');
var router = express.Router();
var db = require('../queries');
router.get('/api/puppies', db.getAllPuppies);
router.get('/api/puppies/:id', db.getSinglePuppy);
router.post('/api/puppies', db.createPuppy);
router.put('/api/puppies/:id', db.updatePuppy);
router.delete('/api/puppies/:id', db.removePuppy);
module.exports = router;
当db.createPuppy被调用时,有没有通过任何参数。
这三个参数如何适合这个函数?
更新:我是Node,JavaScript,pg-promise和express的新手。所以,缩小挖掘的范围有点压倒一切。我来到这里是为了让我的主题聚焦在哪里,谢谢!
阅读快速在这里:http://expressjs.com/en/guide/routing.html – jmargolisvt
当一个函数被*调用*,任何数量的参数可以传递给它。上面你正在做的是将函数作为参数传递给另一个函数,这个函数稍后会用一些参数调用它。 –
感谢您的反馈。您的评论让我首先了解[JavaScript回调函数](http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/);我显然不明白。我确实跑过了你指出的快速路由页面。如果不理解回调,那个表达式来源无助于增加清晰度。现在有点更清楚了。 –