inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

POST, PUT, DELETE 요청 보내기

res.end() 앞 return 여부의 차이

1704

sh lee

작성한 질문수 1

1

아래는 res.end()앞에 return이 없는 경우입니다.

http.createServer(async (req, res) => {
        res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
        const data = await fs.readFile('./http.html');
        res.end(data);
      }

 

아래는 res.end()앞에 return이 없는 경우입니다.

http.createServer(async (req, res) => {
  
        const data = await fs.readFile('./restFront.html');
        res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
        return res.end(data); // res.end() 앞에 return이 있음.
      }

위 예시 말고도 코드 여러 군데에서 어떤건 return 이 들어가고 안들어가고 하더라고요. return이 있고 없고에 어떤 차이가 있는 걸까요?

감사합니다.

node.js mysql express Socket.io nodejs mongodb typescript jwt

답변 2

4

제로초(조현영)

기본적으로 함수의 끝에 있는 return은 있으나 없으나 차이는 없으나 명시적으로 저 부분에서 함수가 끝난다는걸 표시하는 겁니다. 그래서 실수로 res.end가 여러 번 호출되는 것을 막을 수 있습니다.

0

sh lee

답변 감사합니다!!

0

디오

res.end(data)가 실행되면 클라이언트에 응답을 보내고 요청/응답 싸이클을 종료하니까 return 필요 없습니다.

가독성 측면에서 코드 작성자 맘대로 하면 됩니다.

2

제로초(조현영)

구체적으로 설명드리자면
if () {
res.send();
}
res.send();
같은 상황을 방지하는 것이라 보시면 됩니다. 이러면 에러나니까요.
if () {
return res.send();
}
return res.send();
이러면 절대 에러날 일이 없죠.

깃헙 질문

0

82

2

강의 1-1 수업노트의 로드맵 링크가 작동하지 않습니다.

0

78

1

aws - lightsail 이용 관련

0

59

1

4강 http 서버 만들때 ESM방식으로 해도 될까요?

0

83

2

모듈 사용 시 단점이 있나요?

0

84

1

node.js 버전 및 typescript 적용 문의

0

95

2

12.7. 방장기능(강퇴) 질문드립니다.

0

80

2

12.7 socket.js코드 그대로 뱃겨서 했는데, socket.request.session.color가안나오네요

0

69

1

12.7 코드 그대로 뱃겨서 햇는데 스샷같이 오류가뜹니다.

0

77

2

12.7.1스스로 해보기 질문되나요

0

95

3

시퀄라이즈 실습하기 질문드립니다.

0

197

9

<7-5. 시퀄라이즈 사용하기>수업 질문 드립니다.

0

98

2

크롬에서 user id를 인풋에 입력하고 등록하면 404 에러처리 페이지가 뜹니다.

0

114

2

구매 결제관련 질문입니다 !

0

123

1

다수의 supertest 가 실행될 때 force:true로 인한 DB 초기화 문제

0

135

2

node 설치 방법이 전혀다르게 바뀐것 같습니다.

0

152

2

12강 깃허브에 있는 12.7 chat.html 복붙했는데 css오류

0

123

2

무료/프리미엄 동시 소유 시 질문

0

117

1

비주얼 스튜디오 코드로 계속 진행해도 괜찮을까요?

0

136

2

10강 cors에러 localhost:4000으로 접속했을때 에러

1

159

2

webstorm 해결할 수 없는 변수 문제

0

155

2

혹시 몽고DB 쓸거면 MySQL 강의 스킵해도 되나요?

0

149

2

LightSail 실행 중 오류 질문드립니다!

0

204

2

RedisStore 사용법 질문

0

134

2