Cannot set headers after they are sent to the client
2015
작성한 질문수 3
Cannot set headers after they are sent to the client에러를 구글링해보니 중복처리할 경우 발생한다하던데 이게 뭔 말인지도 잘 모르겠고 코드도 똑같이 따라쳤는데..ㅜㅜ 도와주세요 어떻게 해결해야할까요..몇시간째 붙잡고 있어요
답변 1
1
안녕하세요 :)
답변 드립니다. 더 궁금하신 점 있으시면 언제든지 답글 달아주세요!
Cannot set headers after they are sent to the client에러는 보통 "서버가 클라이언트에게 2개 이상의 응답을 보내려고 할 때" 발생하는 오류로 유명합니다.
예를 들어서 프론트엔드(postman, react, app .. 등)에서 request를 1번 보내면 특수한 경우가 아닌 이상 response를 1번 보내어 1:1로 보내야 합니다.
해당 코드를 보지 않고는 제가 정확히 모르겠지만, 제 경험 상 보통 NestJS에서 해당 오류를 낼 때는
controller 부분에서res.status(statusCode).json(data);return;
라고 쓰면 납니다 왜냐하면 controller 부분에서 response(혹은 res) 객체를 쓰자마자 응답이 내려가기 때문입니다. (nodejs의 express 특성입니다.)
위 상황이 맞다면return res.status(statusCode).json(data);
와 같이 쓰는 것이 맞습니다. :)
프로젝트 환경 세팅할 때 최신 노드 버젼을 사용하시는 분들은 참고하셔도 좋을 것 같아요~
2
81
1
DTO에 대한 질문
1
88
2
백엔드 MVC에서 View의 역할은 무엇인가요?
1
94
2
추가 업데이트 관련 건
0
90
2
nest js 버전문제
0
80
2
mongdb 스키마 공식 문서와 형태가 다른 이유 궁금합니다.
0
103
1
라인 끝에 에러 표시(eslint) 때문에 구글 찾아 보니.
0
75
1
전체 고양이 조회 라우터 중 error.message 오류
0
69
1
캡슐화 추가 설명 중 단일책임원칙 관련 질문
0
106
0
TypeORM과 mysql을 사용하시는 분들
4
142
1
42강 고양이끼리 소통 댓글 구현 중 Schema hasn't been registered for model 'comments' 에러 해결
0
82
1
채팅 이슈
0
133
1
모듈이 더 이상 지원하지 않는답니다
0
207
1
오류가 있습니다
0
106
1
import 에서 오류가 납니다
0
127
1
이런 오류가 나옵니다
0
100
1
에러가 발생합니다
0
110
1
프론트 에러 뜨는데 수정 안해주시나요
0
158
1
emit() broadcast.emit() 질문있습니다
0
103
1
서버연결이 안됩니다.
1
403
1
[PM2][ERROR] Command not found
0
521
1
S3에 업로드까지는 성공했는데 사진이 나오지 않습니다.
0
248
1
error_code : Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.ts(2339)
0
602
1
jwt를 따로 연습하고 있는데 env를 못읽는 것 같습니다.
0
323
2





