var aa = function(err, req, res, next) {
res.render('error', {
message: err.message,
error: err
});
};
if (app.get('env') === 'development') {
app.use(aa);
}
以上第一行的代码,是不是不能交换参数位置成为以下的代码
var aa = function( req, err, res, next) {
res.render('error', {
message: err.message,
error: err
});
};
为什么这个参数位置是err, req, res, next固定的? 以及另外一个function( req, res, next)也是不能换位置的? 不知道为什么
还有,可以解释一下next的作用么?举个例子?
5 回复
1、位置不能变换,因为js是通过位置index来判断是什么参数的,后面的参数可以不写,但是顺序不可变化,等你自己写给别人用的函数的时候就知道了; 2、next是回调函数呀,当这个函数的工作做完了,可以继续下一个任务了呀 这样就可以传递下去