Для чего в Express используется параметр «далее»?

Предположим, у вас есть простой блок кода, подобный этому:

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?

273
задан nbro 18 November 2015 в 00:38
поделиться