我是javascript和nodejs的noob,并且有时无法理解回调函数。我发现最令人困惑的是找到哪些参数(或者它应该被称为参数?)传递给回调函数。
考虑以下示例
app.get('/', function (req, res) {
res.send('GET request to homepage');
});
如果我理解正确,我可以将函数中的参数名称更改为其他名称(例如a,b而不是req,res),它仍将分别包含请求和响应对象。
app.get('/', function (a, b) {
b.send('GET request to homepage');
});
这是因为app.get方法/函数将其第二个参数定义为回调函数,以及将作为参数传递给该回调函数的内容,对吗?
如果上述情况属实,我就无法在Express API文档中找到描述传递给该方法/函数的回调函数参数的文档。事实上,我很难找到描述许多其他方法/函数传递回调的文档。我在哪里可以找到这些信息?我是否在查看错误的信息,因为我搞砸了一些术语?
答案 0 :(得分:1)
答案 1 :(得分:0)
对于那些正在访问这个3年的旧问题并希望得到答案的人(像我一样), 我希望下面的答案能启发您的心情;)
编写错误处理程序
定义错误处理中间件功能的方式与其他中间件功能相同, 除了错误处理功能具有四个参数而不是三个参数 :( err,req,res,next) 。例如:
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500).send('Something broke!')
})