创建发布请求时:错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头

时间:2019-07-23 14:27:52

标签: node.js express

当尝试为我的服务发布订单时,我收到一个错误:将标头发送给客户端后,无法设置标头。我已经在Google搜索了两天,找不到可以帮助我的答案。我对编码还很陌生,所以任何帮助将非常感谢!

const express = require("express");
const router = express.Router();
const mongoose = require("mongoose");
const serviceOrder = require("../models/serviceorder");
const Service = require("../models/service");



router.post("/", (req, res) => {
  Service.findById(req.body.serviceId)
    .then(service => {
      if (!service ) {
        return res.status(404).json({
          message: "Service not found"
        });
      }
      const order = new serviceOrder({
        _id: mongoose.Types.ObjectId(),
        service: req.body.serviceId,
        hourlyrate: req.body.hourlyrate
      });
      return order.save();
    })
    .then(result => {
      console.log(result);
      return res.status(201).json({
        message: "Order stored",
        createdOrder: {
          _id: result._id,
          service: result.service,
          hourlyrate: result.hourlyrate
        },
        request: {
          type: "GET",
          url: "http://localhost:3001/orders/" + result._id
        }
      });
    })
    .catch(err => {
      console.log(err);
      return res.status(500).json({
        message: "Orders not found",
        error: err
      });
    });
});

当我创建此代码时,它确实可以工作2-3次。我什至可以通过我发出的get请求获得所有创建的订单。我将代码推送到github上供我的小组查看,现在每次都出现此错误。我正在使用邮递员来测试所有内容。

0 个答案:

没有答案