728x90
1. fetch 이후 then 안에서 response 값을 가져올 수 없다.
await fetch('https://coactlist-default-rtdb.firebaseio.com/coaches.json')
.then(res => console.log(res.json()));
아래는 위 코드 결과이다.



응답에 Object 처럼 보이는 값이 있어서 바로 가져오려고 했는데
실패했다.
아래 사진은 가져오려고 시도한 내용이다.
await fetch('https://coactlist-default-rtdb.firebaseio.com/coaches.json')
.then(res => console.log(res.json()['name']));

예상으로는 res.json()을 통해
Object를 그리기 전에 name에 접근하여서
undefined가 떴지 않았을까 하는 생각이 들었다.
응답 객체 response에서 제공하는
json()을 통해 javascript 객체로 변환하는 시간을 기다렸다가
출력해보기로 시도해보자!
[response 객체의 JSON -> Object 기다렸다가 출력해보기]
let response = await fetch('https://coactlist-default-rtdb.firebaseio.com/coaches.json');
let result = await response.json();
console.log(result);

잘 나오는 걸 확인할 수 있다.
추가로
JSON.parse() 과
.json()
둘의 차이가 궁금해서 찾아봤다.
[JSON.parse() vs .json()]
JSON.parse는
header와 body를 둘 다 넣는 경우 파싱을 하지 못한다.
.json()의 경우에는
header와 body를 넣어도 body만을 파싱해서 리턴한다
'데일리 공부 기록' 카테고리의 다른 글
| Android - 오류 해결 Recommended action: Update this project to use a newer compileSdkVersion of at least 33, for example 33. (0) | 2023.08.05 |
|---|---|
| Android - Android studio(자바) 개발환경 셋팅 (1) | 2023.08.05 |
| firebase 생성부터 javascript 조회 (0) | 2023.08.03 |
| hands on cafe24 셋팅 - 계속 db가 안불어와졌던 이유 (0) | 2023.07.17 |
| hands on arduino - 스마트폰과 아두이노 블루투스 연결 (0) | 2023.06.18 |