sql >> Database >  >> NoSQL >> MongoDB

Fout [ERR_HTTP_HEADERS_SENT] Kan headers niet instellen nadat ze naar de client zijn verzonden

u moet uw foutreactie retourneren zodra er een fout is opgetreden, anders blijft uw functie actief en wordt de onderstaande code uitgevoerd, zelfs na de fout.

  '/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'
  });
});
}
);

want als er een fout optreedt of een validatie mislukt, verzendt de API het antwoord maar wordt niet geretourneerd, dus de functie blijft doorgaan en voert alle andere code eronder uit.

Zoals u moet weten, kan een reactie op een HTTP-verzoek slechts één keer worden verzonden en wanneer de functie het antwoord opnieuw verzendt na een fout, laat het u zien dat er geen antwoordheaders kunnen worden verzonden nadat ze naar de client zijn verzonden.

Ik hoop dat dit helpt. VEEL GELUK :)



  1. Django-sjablonen en MongoDB _id

  2. MongoDB - $project genest document naar hoofdniveau

  3. Mongo-time-out instellen in Spring Boot

  4. Hoe ingesloten document in mangoest bij te werken?