[Mongoose] Cannot set headers after they are sent to the client

2020. 5. 13. 18:12컴퓨터언어/Database

728x90
반응형

이 에러는 node.js에서 GET 또는 POST 메서드와 관계된 것이다.

 

페이지를 로드할 때 우리는 콜백함수 내 response 인자로 redirect 또는 render 하게 된다.

 

하지만 IF 조건문 같이 분기가 확실히 되어야 하는 지점에서 두갈래길을 확실히 하지 않았다면,

 

redirect와 render가 중복되는 불상사가 생기게 된다.

 

예를 들어, IF문의 조건이 참이어서 해당 구문 내 redirect()가 한번 실행되었다면,

 

그 Route를 담당하는 GET 또는 POST 메서드는 할 일을 다한 것이며,

 

또다른 redirect()나 render()가 해당 Route에서 실행되지 않도록 else if / else / return 키워드 등을 통해 구분해주어야 한다.

 

하지만 나는 else{}문 처리를 빼먹어서 이 에러가 났었다.

 

DB나 페이지 로딩에는 문제가 없었지만 엄연한 에러였기에 바로 조치하였다.

 

코드는 다음과 같다.

 

 

728x90
반응형