Опитвам се да настроя проста система за изобразяване на грешки при въвеждане от потребителя и спиране на разпространението в експресен режим, това е, което имам досега:
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()), но това би добавило много раздуване към моите контролери , има ли някакъв по-добър начин да го направите от помощната функция?