MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Грешка [ERR_HTTP_HEADERS_SENT] Не може да се зададат заглавки, след като са изпратени на клиента

трябва да върнете отговора си за грешка, след като възникне грешка или в противен случай вашата функция ще продължи да работи и ще изпълнява кода по-долу дори след грешката.

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

защото ако възникне грешка или валидирането е неуспешно, API изпраща отговора, но не се връща, така че функцията продължава да работи и изпълнява целия друг код под нея.

Както трябва да знаете, че при HTTP заявка отговорът може да бъде изпратен само веднъж и когато функцията отново изпрати отговора след грешка, тя ви показва, че не може да изпрати заглавки на отговора, след като са изпратени на клиента.

Надявам се това да помогне. УСПЕХ :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изместване на множество записи с MongoDb

  2. Условно оценяване на елемент от масив за връщане

  3. Google Cloud Functions свързва ли се отново с моя MongoDB клиент за всяка HTTP заявка?

  4. Експортирайте и използвайте повторно моята mongoose връзка в множество модели

  5. 'autoIndexID' не е валидна опция за събиране - mongoDB