오늘은 fetch API를 사용해서 원격 URL을 통해 서버에 요청을 보내고 정보를 받는 학습을 했다. fetch를 이용하면 새로고침 없이 유저정보를 받거나 변경된 정보를 받을 수 있다. fetch를 통해 서버에서 응답을 받으면 Promise가 Response에 담겨 전달된다.
Korean JSON은 한국어 데이터를 제공하는 JSON API이다. 다음의 구문을 콘솔에 입력하여 어떤 데이터를 fetch를 통해 받는 지 알 수 있다.
let url =
"https://koreanjson.com/posts/1";
fetch(url)
.then((response) => response.json())
.then((json) => console.log(json))
.catch((error) => console.log(error));
{"id":1,"title":"정당의 목적이나 활동이 민주적 기본질서에 위배될 때에는 정부는 헌법재판소에 그 해산을 제소할 수 있고, 정당은 헌법재판소의 심판에 의하여 해산된다.","content":"모든 국민은 인간으로서의 존엄과 가치를 가지며, 행복을 추구할 권리를 가진다. 모든 국민은 종교의 자유를 가진다. 국가는 농·어민과 중소기업의 자조조직을 육성하여야 하며, 그 자율적 활동과 발전을 보장한다. 모든 국민은 양심의 자유를 가진다. 누구든지 체포 또는 구속을 당한 때에는 즉시 변호인의 조력을 받을 권리를 가진다.","createdAt":"2019-02-24T16:17:47.000Z","updatedAt":"2019-02-24T16:17:47.000Z","UserId":1}
오늘로 비동기 파트가 끝났다. 3일에 걸쳐 비동기의 개념, 콜백, Promise, async/await 등의 개념을 학습하고 실제로 활용했다. 기존 방식은 모두 동기적으로 작성했기에 비동기 개념이 확 와닿진 않는다. 좀더 많은 경험을 해야 익숙해질 것 같다...