|
7 | 7 | pressing the button. |
8 | 8 | */ |
9 | 9 |
|
| 10 | +/* global logger */ |
| 11 | + |
10 | 12 | 'use strict'; |
11 | 13 |
|
12 | 14 | { |
13 | | - window.logger.enter('outer block'); |
| 15 | + logger.enter('outer block'); |
14 | 16 |
|
15 | 17 | function fetchJSON(url, cb) { |
16 | | - window.logger.enter('fetchJSON'); |
| 18 | + logger.enter('fetchJSON'); |
17 | 19 |
|
18 | 20 | const xhr = new XMLHttpRequest(); |
19 | 21 | xhr.open('GET', url); |
20 | 22 | xhr.responseType = 'json'; |
21 | 23 | xhr.onload = () => { |
22 | | - window.logger.enter('xhr.onload handler'); |
| 24 | + logger.enter('xhr.onload handler'); |
23 | 25 | if (xhr.status >= 200 && xhr.status <= 299) { |
24 | 26 | cb(null, xhr.response); |
25 | 27 | } else { |
26 | 28 | cb(new Error(`Network error: ${xhr.status} - ${xhr.statusText}`)); |
27 | 29 | } |
28 | | - window.logger.leave('xhr.onload handler'); |
| 30 | + logger.leave('xhr.onload handler'); |
29 | 31 | }; |
30 | 32 | xhr.onerror = () => { |
31 | | - window.logger.enter('onerror handler'); |
| 33 | + logger.enter('onerror handler'); |
32 | 34 | cb(new Error('Network request failed')); |
33 | | - window.logger.leave('onerror handler'); |
| 35 | + logger.leave('onerror handler'); |
34 | 36 | }; |
35 | 37 | xhr.send(); |
36 | 38 |
|
37 | | - window.logger.leave('fetchJSON'); |
| 39 | + logger.leave('fetchJSON'); |
38 | 40 | } |
39 | 41 |
|
40 | 42 | function fetchAndRender(url) { |
41 | | - window.logger.enter('fetchAndRender'); |
| 43 | + logger.enter('fetchAndRender'); |
42 | 44 |
|
43 | 45 | const pre = document.getElementById('response'); |
44 | 46 | fetchJSON(url, (err, data) => { |
45 | | - window.logger.enter('fetchJSON callback'); |
| 47 | + logger.enter('fetchJSON callback'); |
46 | 48 | pre.textContent = err ? err.message : JSON.stringify(data, null, 2); |
47 | | - window.logger.leave('fetchJSON callback'); |
| 49 | + logger.leave('fetchJSON callback'); |
48 | 50 | }); |
49 | 51 |
|
50 | | - window.logger.leave('fetchAndRender'); |
| 52 | + logger.leave('fetchAndRender'); |
51 | 53 | } |
52 | 54 |
|
53 | 55 | function main(url) { |
54 | | - window.logger.enter('main'); |
| 56 | + logger.enter('main'); |
55 | 57 | const button = document.getElementById('btn-go'); |
56 | 58 | button.addEventListener('click', () => { |
57 | | - window.logger.enter('onclick handler'); |
| 59 | + logger.enter('onclick handler'); |
58 | 60 | fetchAndRender(url); |
59 | | - window.logger.leave('onclick handler'); |
| 61 | + logger.leave('onclick handler'); |
60 | 62 | }); |
61 | 63 |
|
62 | 64 | const span = document.getElementById('counter'); |
|
67 | 69 | span.textContent = counter; |
68 | 70 | }, 200); |
69 | 71 |
|
70 | | - window.logger.leave('main'); |
| 72 | + logger.leave('main'); |
71 | 73 | } |
72 | 74 |
|
73 | 75 | const NOBEL_PRIZE_API_END_POINT = 'http://api.nobelprize.org/v1/laureate.json?gender=female'; |
74 | 76 |
|
75 | 77 | window.onload = () => { |
76 | | - window.logger.enter('window.onload handler'); |
| 78 | + logger.enter('window.onload handler'); |
77 | 79 | main(NOBEL_PRIZE_API_END_POINT); |
78 | | - window.logger.leave('window.onload handler'); |
| 80 | + logger.leave('window.onload handler'); |
79 | 81 | }; |
80 | 82 |
|
81 | | - window.logger.leave('outer block'); |
| 83 | + logger.leave('outer block'); |
82 | 84 | } |
0 commit comments