Я пытаюсь настроить простую систему для рендеринга ошибок пользовательского ввода и остановки распространения в экспрессе, вот что у меня получилось:
routingFunction= (req, res, next) {
//setting up a test in express-validator
var test = req.assert('access_token', 'required').notEmpty();
isValid(test, next);
//non error stuff
}
isValid = (tests, next) => {
//some more code here, that checks if any errors were found and save tem to the array errors.
if(errors.length > 0){
return next(new Error());
}
};
//a middleware that catches errors:
app.use((err, req, res, next) => {
res.json('error').end();
});
Моя проблема с этим заключается в том, что он не останавливает распространение, когда я вызываю Next(new Error());
, я мог бы вернуть true/false из isValid, а затем вернуть next(new Error()), но это добавило бы много раздувания моим контроллерам. , есть ли лучший способ сделать это из вспомогательной функции?