Udemy The Advanced Web Developer Bootcamp에서는 프로젝트 중심으로 강의를 진행하고있다.
강의를 한번듣고 바로 좋은 코드를 작성하진 못하지만 이런 리뷰를 통해서 코드에 대한 이해도가 더 생겼으면 좋겠다.
1 | var url = "https://randomuser.me/api"; | 1 | var url = 'https://randomuser.me/api/'; |
| 2 | var name = document.querySelector("#fullname"); | 2 | var fullnameDisp = document.querySelector("#fullname"); |
| 3 | var img = document.querySelector("#avatar"); | 3 | var avatar = document.querySelector("#avatar"); |
| 4 | var username = document.querySelector("#username"); | ||
| 4 | var city = document.querySelector("#city"); | 5 | var city = document.querySelector("#city"); |
| 5 | var email = document.querySelector("#email"); | 6 | var email = document.querySelector("#email"); |
| 6 | 7 | ||
| 7 | var btn = document.querySelector("#btn"); | 8 | var btn = document.querySelector("#btn"); |
| 8 | btn.addEventListener("click", function(){ | 9 | btn.addEventListener("click", function(){ |
| 9 | fetch(url) | 10 | fetch(url) |
| 10 | .then(handleErrors) | 11 | .then(handleErrors) |
| 11 | .then(parseJSON) | 12 | .then(parseJSON) |
| 12 | .then(updateProfile) | 13 | .then(updateProfile) |
| 13 | .catch(printErrors) | 14 | .catch(displayErrors); |
| 14 | }); | 15 | }); |
| 15 | 16 | ||
| 16 | function handleErrors(res){ | 17 | function handleErrors(res){ |
| 17 | if(!res.ok){ | 18 | if(!res.ok){ |
| 18 | throw Error(res.status); | 19 | throw Error(res.status); |
| 19 | } | 20 | } |
| 20 | return res; | 21 | return res; |
| 21 | } | 22 | } |
| 22 | 23 | ||
| 23 | function parseJSON (res){ | 24 | function parseJSON (res){ |
| 24 | res.json(); | 25 | return res.json().then(function(parsedData){ |
| 25 | return res.json(); | 26 | return parsedData.results[0]; |
| 26 | console.log(res.json()); | 27 | }) |
| 27 | } | 28 | } |
| 28 | 29 | ||
| 29 | function updateProfile(){ | 30 | function updateProfile (data){ |
| 30 | img = response.results.picture.large; | 31 | var fullname = data.name.first + " " + data.name.last; |
| 31 | name = data.results.name.first + data.results.name.last; | 32 | fullnameDisp.innerText = fullname; |
| 32 | email = data.results.email; | 33 | avatar.src = data.picture.medium; |
| 33 | city = data.results.location.city; | 34 | username.innerText = data.login.username; |
| 35 | city.innerText = data.location.city; | ||
| 36 | email.innerText = data.email; | ||
| 34 | } | 37 | } |
| 35 | 38 | ||
| 36 | function printErrors(err){ | 39 | function displayErrors(err){ |
| 40 | console.log("INSIDE displayErrors!"); | ||
| 37 | console.log(err); | 41 | console.log(err); |
| 38 | } | 42 | } |
'Udemy > Web Dev BootCamp' 카테고리의 다른 글
| Advanced Array Methods(map) (0) | 2019.02.19 |
|---|---|
| Advanced Array Methods(forEach) (0) | 2019.02.19 |
| 4 Ways AJAX(xhr / fetch / jquery / axios) (0) | 2019.02.18 |
| AJAX (0) | 2019.02.15 |
| Async Foundation (0) | 2019.02.13 |