-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhandling-promises.html
More file actions
89 lines (70 loc) · 2.28 KB
/
handling-promises.html
File metadata and controls
89 lines (70 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!--8/30/21-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Promises Mini Exercises</title>
</head>
<body>
<script>
"use strict";
// returns a promise that resolves after two seconds if the UTC second is even and rejects if it is odd
function successIfEvenUTCSecond() {
return new Promise((resolve, reject) => {
setTimeout(function() {
const second = new Date().getUTCSeconds();
if (second % 2 === 0) {
resolve(second);
} else {
reject(second);
}
}, 2000);
});
}
const aPromise = successIfEvenUTCSecond();
// FIRST MINI EXERCISE
// TODO: if aPromise resolves, console.log 'VALUE_HERE is an even number!'
aPromise.then(function(value) {
console.log(`${value} is an even number!`);
});
// TODO: if aPromise rejects, console.error 'VALUE_HERE is an odd number!'
aPromise.catch(function(value) {
console.log(`${value} is an odd number!`);
});
/* this is how you correctly chain:
aPromise
.then(function(value) {
console.log(`${value} is an even number!`);
})
.catch(function(value) {
console.log(`${value} is an odd number!`);
});
*/
// SECOND MINI EXERCISE
// TODO: make a GET request using fetch to the Programming Quote API url and log just the text of the random quote.
const quoteUrl = `http://quotes.stormconsultancy.co.uk/random.json`;
fetch(quoteUrl)
.then(response => response.json())
.then(function(data) {
console.log(data.quote);
})
.catch(error => {
console.log(error);
});
// THIRD MINI EXERCISE
// TODO: Create a new endpoint on https://hookbin.com/ and use fetch to send some POST requests. Experiment with sending different shapes of data in the body of the request.
fetch('https://hookb.in/eKpJ7j3nNWhlwQmmw1b8', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: "amanda",
password: "pass5689"
})
})
.then(console.log)
.catch(console.log);
</script>
</body>
</html>