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 |