sql >> Database teknologi >  >> NoSQL >> MongoDB

Fejl [ERR_HTTP_HEADERS_SENT] Kan ikke indstille overskrifter, efter at de er sendt til klienten

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 :)



  1. MongoDB:Jeg vil gemme array-objekt i samling

  2. Skal jeg bruge ObjectID eller uid (implementeret af mig selv) til at identificere bruger?

  3. findOne Subdocument in Mongoose

  4. Får indstillingen slave-read-only nej til at få slave til at bekræfte hvert hash-opslag med masteren?