du skal returnere dit fejlsvar, når der er opstået en fejl, ellers vil din funktion blive ved med at køre og udføre nedenstående kode selv efter fejlen.
'/add/grade',
[
check('name', 'grade name is require')
.not()
.isEmpty()
],
auth,
admin,
(req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) return res.status(400).send({ errors: errors.array() });
const grade = new Grade(req.body);
grade.save((err, doc) => {
if (err) return res.status(400).send({ success: false, err });
return res.status(200).send({
success: true,
grade: doc,
msg: 'Grade add successfully'
});
});
}
);
fordi hvis der opstår en fejl eller en validering mislykkedes, sender API'en svaret, men returneres ikke, så funktionen fortsætter og udfører al anden kode under den.
Som du bør vide, kan svar i en HTTP-anmodning kun sendes én gang, og når funktionen igen sender svaret efter en fejl, viser den dig, at der ikke kan sendes svaroverskrifter, efter at de er sendt til klienten.
Håber dette hjælper. LYKKE TIL :)