【问题标题】:ERR_HTTP_HEADERS_SENT: Cannot set cookieERR_HTTP_HEADERS_SENT:无法设置 cookie
【发布时间】:2021-05-28 08:42:11
【问题描述】:

这是我的代码

import { Request, Response } from "express";
import { database } from "firebase-admin";

async function updatereAccessToken(
  req: Request,
  res: Response,
  db: database.Database
) {
  try {

    await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");

    
    await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");

//comments

    res.cookie("act", "tokenAuth.accessToken", {
      httpOnly: true,
      sameSite: "lax",
    });

    res.cookie("ret", "tokenAuth.refreshToken", {
      httpOnly: true,
      sameSite: "lax",
    });

    return "currentUser";
  } catch (error) {}
}

代码在评论之前有效。然后我得到错误

[ERR_HTTP_HEADERS_SENT]:发送到客户端后无法设置标头 在 ServerResponse.setHeader (_http_outgoing.js:558:11)

将代码分成两部分

1

    await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");

    
    await db
      .ref(
        `/token/${"-MUQK0wGmrjPVBdFH7gr"}/${"90417abf-b085-4072-b4ec-f009b5fe4016"}`
      )
      .set("90417abf-b085-4072-b4ec-f009b5fe4016");

2

res.cookie("act", "tokenAuth.accessToken", {
          httpOnly: true,
          sameSite: "lax",
        });
    
        res.cookie("ret", "tokenAuth.refreshToken", {
          httpOnly: true,
          sameSite: "lax",
        });

这两个部分的代码分开工作,但不能一起工作。是什么原因?。

【问题讨论】:

    标签: node.js typescript cookies response firebase-admin


    【解决方案1】:

    Error [ERR_HTTP_HEADERS_SENT] 是一个有趣的错误,当服务器尝试向客户端发送多个响应时会触发该错误。这意味着对于给定的客户端请求,服务器先前向客户端发送了响应(请求资源的成功响应或错误请求的错误响应),现在意外地尝试发送另一个响应。 这就是为什么他们分开而不是一起工作的原因。

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多