sql >> Databasteknik >  >> NoSQL >> MongoDB

Fel [ERR_HTTP_HEADERS_SENT] Kan inte ställa in rubriker efter att de har skickats till klienten

du måste returnera ditt felsvar när ett fel inträffade, annars kommer din funktion att fortsätta köra och köra koden nedan även efter felet.

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

för om ett fel inträffar eller någon validering misslyckas skickar API:et svaret men returneras inte så funktionen fortsätter och kör all annan kod under den.

Som du borde veta att i en HTTP-begäran kan svar bara skickas en gång och när funktionen igen skickar svaret efter ett fel visar den att du inte kan skicka svarsrubriker efter att de har skickats till klienten.

Hoppas det här hjälper. LYCKA till :)



  1. Atomic om det inte finns, sätt in Mongodb .Net-drivrutinen

  2. Hur får man bort dokument i MongoDB?

  3. konvertera iso-datum till tidsstämpel i mongo-fråga

  4. MongoDb-autentisering med Hibernate OGM