inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

2.10) Date 객체와 날짜

바로 res.json()을 리턴할 경우

1240

c3392302

작성한 질문수 5

0

안녕하세요 선생님 위의 코드는 잘 작동하지만 두번째 코드는 프로미스 객체자체를 반환하던데 어떤 차이가 있나요? 둘 다 res.json()을 콘솔에 띄우는 코드 아닌가요??

let response = fetch("https://jsonplaceholder.typicode.com/posts")

.then((res) => {

return res.json();

})

.then((jsons) => {

console.log(jsons);

});

==================================
let responses = fetch("https://jsonplaceholder.typicode.com/posts").then( (res) => { console.log(res.json()); });

javascript react node.js

답변 1

0

이정환 Winterlood

안녕하세요 이정환입니다.

천천히 설명드려볼게요 😃

위 코드는 첫번째 then 메서드에서 res.json()을 반환하고 있지요?
이때 res.json() 메서드는 비동기 작업이라서 사실 Promise 객체를 반환한답니다.
그래서 res.json()을 반환하는 then 메서드의 반환값은 결국 Promise 객체가 됩니다.

따라서 다음 예제 코드에서 변수 response에는 Promise 객체가 저장되게 되는 것이죠
(res.json이 비동기 함수이기 때문에요!)

 let response = fetch("https://jsonplaceholder.typicode.com/posts")
  .then((res) => {
    return res.json();
  })

그래서 res.json 메서드의 진짜 결과값(비동기 작업의 결과값)을 사용하고 싶다면 다음 예제 코드처럼 한 번 더 then 메서드를 사용해 주어야 합니다.

let response = fetch("https://jsonplaceholder.typicode.com/posts")
  .then((res) => {
    return res.json();
  })
  .then((jsons) => {
    console.log(jsons);
  });

왜 그럴까요?
앞서 이야기했듯이 첫번째 then 메서드의 반환값은 res.json이고 이 메서드는 Promise 객체를 반환하기 때문이에요

image

 

그럼 이렇게 생긴 코드는 어떨까요?
당연히 res.json 메서드의 결과값은 Promise 객체이기 때문에 Promise 객체가 출력되는 것 입니다.

let responses = fetch("https://jsonplaceholder.typicode.com/posts").then(
  (res) => {
    console.log(res.json());
  }
);

VSCode 설정 문의

0

33

2

PPT 코드 관련 질문

0

31

2

useEffect와 lifecycle문의

0

39

2

프론트엔드 학습 수준 문의

0

58

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

56

2

데이터 로딩중 화면만 계속 나와요!!

0

57

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

87

2

이후의 커리큘럼 문의

0

106

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

54

2

최적화 관련 질문있습니다 (useMemo 등)

0

88

3

프로바이더 컴포넌트의 위치는 어떤 기준인가요?

1

85

3

Date 객체에 관련하여 질문드립니다.

0

89

2

리액트 개정판 교재 질문

0

61

2

예제코드가 안나와요!

0

79

2

select a variant 선택에서 javascript와 javascript+react compiler 중 무엇을 선택해야하나요? com

0

113

2

onMouseEnter 관련 문의 드립니다

0

95

3

배열의 렌더링 관련 질문 드립니다.

0

74

2

2:40초 refObj를 콘솔로 출력시 오류가 발생합니다.

0

118

2

TS, 리액트 강의중에 뭘 먼저 수강하는게 좋을까요?

0

142

2

useCallback 적용한 onCreate, onUpdate, onDelete 함수..

0

71

1

vs code 자동완성관련 문의

0

124

2

91강 useEffect내에서 상태변화함수 호출시 발생하는 에러

1

191

2

87강 필터 함수 질문

0

71

2

useRef, useState count 비교

0

67

2