인프런 커뮤니티 질문&답변

tjwlgus35님의 프로필 이미지
tjwlgus35

작성한 질문수

탄탄한 백엔드 NestJS, 기초부터 심화까지

JWT와 로그인 서비스 & 순환 참조 모듈

Cannot set headers after they are sent to the client

작성

·

1.8K

·

수정됨

0

스크린샷 2023-02-04 오후 10.05.40.pngCannot 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);
와 같이 쓰는 것이 맞습니다. :)

tjwlgus35님의 프로필 이미지
tjwlgus35

작성한 질문수

질문하기