【发布时间】:2016-11-12 08:03:12
【问题描述】:
我查找了 JavaScript 函数和参数,但找不到任何东西可以帮助我理解如下所示的函数。可以参考original tutorial。
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 的新手。所以缩小挖掘范围有点不知所措。我来这里是为了了解我的关注点。谢谢!
【问题讨论】:
-
在这里阅读 Express:expressjs.com/en/guide/routing.html
-
当一个函数被调用时,可以传递任意数量的参数给它。您在上面所做的是将函数作为参数传递 到另一个函数,该函数稍后将使用多个参数调用它。
-
感谢您的反馈。您的评论使我首先寻求了解JavaScript callback functions;我显然不明白。我确实遇到了您指出的快速路由页面。在不了解回调的情况下,该快速来源无助于增加清晰度。现在有点清楚了。
标签: javascript node.js postgresql express pg-promise