Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点js出现错误[ERR_HTTP_HEADERS_SENT]_Node.js_Express_Http Headers - Fatal编程技术网

Node.js 节点js出现错误[ERR_HTTP_HEADERS_SENT]

Node.js 节点js出现错误[ERR_HTTP_HEADERS_SENT],node.js,express,http-headers,Node.js,Express,Http Headers,当我在我的网站中呈现页面时有时会出现此错误,状态代码将为404,并告诉我该页面未找到 那是错误的 Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at ServerResponse.setHeader (_http_outgoing.js:518:11) at ServerResponse.header (D:\Node Js\MaxCourse\node_mo

当我
在我的网站中呈现页面时
有时会出现此错误,
状态代码将为404
,并告诉我该页面未找到

那是错误的

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at ServerResponse.setHeader (_http_outgoing.js:518:11)
    at ServerResponse.header (D:\Node Js\MaxCourse\node_modules\express\lib\response.js:771:10)
    at ServerResponse.send (D:\Node Js\MaxCourse\node_modules\express\lib\response.js:170:12)
    at done (D:\Node Js\MaxCourse\node_modules\express\lib\response.js:1008:10)
    at tryHandleCache (D:\Node Js\MaxCourse\node_modules\ejs\lib\ejs.js:278:5)
    at View.exports.renderFile [as engine] (D:\Node Js\MaxCourse\node_modules\ejs\lib\ejs.js:489:10)
    at View.render (D:\Node Js\MaxCourse\node_modules\express\lib\view.js:135:8)
    at tryRender (D:\Node Js\MaxCourse\node_modules\express\lib\application.js:640:10)
    at Function.render (D:\Node Js\MaxCourse\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (D:\Node Js\MaxCourse\node_modules\express\lib\response.js:1012:7)
这就是我的代码,我只带了一页代码,但我用这样的代码到另一页,我在Product类中有另一个方法,但我只写了这个fetchAll方法

const mongodb = require("mongodb");
const getDB = require("../utils/database").getDB;

class Product {
  constructor(title, imageUrl, description, price, id) {
    this.title = title;
    this.imageUrl = imageUrl;
    this.description = description;
    this.price = price;
    this._id = id ? new mongodb.ObjectID(id) : null;
  }

  static fetchAll() {
    const db = getDB();
    return db
      .collection("products")
      .find()
      .toArray()
      .then((products) => {
        console.log(products);
        return products;
      })
      .catch((err) => console.log(err));
  }
}

exports.getProducts = (req, res, next) => {
 Product.fetchAll()
  .then((products) => {
    res.render("admin/products", {
      prods: products,
      pageTitle: "Admin Products",
      path: "/admin/products",
    });
  })
  .catch((err) => console.log(err));
};
但是如果我在主文件中删除这个,问题就会得到解决

app.use((req, res, next) => {
  User.findByID("5f60b732b8ebac9a702caba9")
    .then((user) => {
      req.user = user;
      next();
    })
    .catch((err) => console.log(err));
    next();
});


你有比赛条件。在运行
res.send()
或类似操作后,如果您正在使用
res
执行操作,则应添加触发此错误的端点。如果你想得到这方面的帮助,你需要包含一些代码。请问我如何才能添加端点?!我该怎么办@但是我应该包括什么请告诉我@恩斯列夫