В documentation он говорит:Что делает маршрут ('next') в ExpressJS?
Вы можете предоставить несколько функций обратного вызова, которые ведут себя так же, как промежуточного слоя, за исключением этих обратных вызовов может вызвать следующий («маршрут»), чтобы обойти оставшийся маршрут обратного вызова (ов). Вы можете использовать этот механизм для наложения предварительных условий на маршрут, затем передать управление на последующие маршруты, если нет причин для продолжения текущего маршрута.
Означает ли это, что если я пишу маршрут, как это:
app.get('/', function(req, res, next) {
if (!req.params.id) {
res.statusCode(400).send({error: "id parameter is required"});
next('route');
} else {
next();
}
}, function(req, res) {
res.send({something: 'something'})
});
и params.id
был undefined
, то следующий маршрут не будет выполнен, но, если он присутствует это было?
В принципе, соглашение о кодировании/именовании немного меня сбивает с толку. Почему не next(false)
вместо next('route')
?
Возможный дубликат [Экспресс следующая функция, что это действительно за?] (Http://stackoverflow.com/questions/13133071/express-next-function-what-is-it-really-for) – Dhiraj