这三个 JavaScript 函数参数如何使用?
How are these three JavaScript function arguments use?
我已经查找了 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。因此,缩小挖掘范围有点让人不知所措。我来这里是为了获得有关缩小我的关注范围的线索。谢谢!
我认为 (req, res, next)
是 Express 中的默认参数。
当你写router.post('/api/puppies', db.createPuppy);
时,函数createPuppy
还没有真正被调用。这只是确定了当 method/endpoint 被命中时要调用的函数。
当您使用 POST.
到达 /api/puppies
端点时,Express 负责调用函数并向其传递所需的参数
希望对您有所帮助!
您将通过 POST 请求向该端点发送该数据。然后,您可以访问通过 req.body
变量传入的数据。
您还需要 bodyParser 中间件来访问请求正文。更多信息请看这里.. http://expressjs.com/en/api.html#req.body
我已经查找了 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。因此,缩小挖掘范围有点让人不知所措。我来这里是为了获得有关缩小我的关注范围的线索。谢谢!
我认为 (req, res, next)
是 Express 中的默认参数。
当你写router.post('/api/puppies', db.createPuppy);
时,函数createPuppy
还没有真正被调用。这只是确定了当 method/endpoint 被命中时要调用的函数。
当您使用 POST.
到达/api/puppies
端点时,Express 负责调用函数并向其传递所需的参数
希望对您有所帮助!
您将通过 POST 请求向该端点发送该数据。然后,您可以访问通过 req.body
变量传入的数据。
您还需要 bodyParser 中间件来访问请求正文。更多信息请看这里.. http://expressjs.com/en/api.html#req.body