[node] code: ERR_HTTP_HEADERS_SENT ์—๋Ÿฌ ๐Ÿ‘พ

borderline0pxยท2022๋…„ 2์›” 13์ผ
3

error

๋ชฉ๋ก ๋ณด๊ธฐ
1/1

๐Ÿ“Ž status์™€ sendStatus์˜ ์ฐจ์ด

๐Ÿ˜ˆ ์—๋Ÿฌ ๋‚ด์šฉ

node.js๋ฅผ ํ†ตํ•ด
REST API๋ฅผ ์„ค๊ณ„ํ•˜๋˜ ์ค‘

code: 'ERR_HTTP_HEADERS_SENT'
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

์ด๋ผ๋Š” ๋‚ด์šฉ์˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค

๐Ÿ’ก ์—๋Ÿฌ ์›์ธ

์ด ์—๋Ÿฌ์˜ ์›์ธ์€
์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ๋ถ€๋ถ„์— ์žˆ์—ˆ๋‹ค

์ด๋ฏธ ์‘๋‹ต์„ ๋ณด๋ƒˆ๋Š”๋ฐ
๋‹ค์‹œ ๋˜ ์‘๋‹ต์„ ๋ณด๋‚ด๋ ค๊ณ  ํ•œ๋‹ค๋ฉด
์ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ด๋‹ค

๐Ÿง ๋ฌธ์ œ์˜ ์ฝ”๋“œ

router.get("/", (req, res, next) => {
  const username = req.query.username;

  const data = username
    ? tweets.filter((t) => t.username === username)
    : tweets;

  res.sendStatus(200).json(data);
});

๋‚˜๋Š” sendStatus()์™€ status()์„
์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์‚ฌ์šฉํ–ˆ๋‹ค

status()๋Š” ์‘๋‹ต HTTP ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๊ณ ,
sendStatus()๋Š” ์‘๋‹ต HTTP ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค

๊ฒฐ๊ณผ์ ์œผ๋กœ ์‘๋‹ต์„ ๋ฒˆ๋ณตํ•˜๊ฒŒ ๋˜์–ด ์ด์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค

profile
์–ด๋ ค์šด ๊ฒŒ ์•„๋‹ˆ๋ผ ๋‚ฏ์„ค์–ด์„œ ๊ทธ๋Ÿฐ๊ฑฐ์•ผ

0๊ฐœ์˜ ๋Œ“๊ธ€