假设您有一个简单的代码块,如下所示:
app.get('/', function(req, res){
res.send('Hello World');
});
此函数有两个参数req
和res
,分别代表请求和响应对象。
另一方面,其他函数的第三个参数称为next
。例如,让我们看下面的代码:
app.get('/users/:id?', function(req, res, next){ // Why do we need next?
var id = req.params.id;
if (id) {
// do something
} else {
next(); // What is this doing?
}
});
我不明白它的意义next()
是什么,为什么要使用它。在该示例中,如果id不存在,那么next
实际上在做什么?
调用此函数将调用应用程序中的下一个中间件函数。next()函数不是Node.js或Express API的一部分,而是传递给中间件函数的第三个参数。next()函数可以命名为任何名称,但按照惯例,它始终命名为“ next”。