Skip to content

Commit 38bfdbb

Browse files
committed
morning code demos
1 parent 59196f1 commit 38bfdbb

File tree

2 files changed

+115
-32
lines changed

2 files changed

+115
-32
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
2+
// pyramid of doom
3+
// setTimeout(function() {
4+
5+
// console.log('do this first');
6+
7+
// setTimeout(function() {
8+
9+
// console.log('do this second');
10+
11+
// setTimeout(function() {
12+
13+
// console.log('do this third');
14+
15+
// }, 500);
16+
17+
// }, 1000);
18+
19+
// }, 2000);
20+
21+
22+
23+
// function allDone() {
24+
// console.log('all done');
25+
// }
26+
27+
// let counter = 0;
28+
29+
// counter++;
30+
// setTimeout(function() {
31+
// console.log('a');
32+
// counter--;
33+
// if (counter === 0) {
34+
// allDone();
35+
// }
36+
// }, 2000);
37+
38+
// counter++;
39+
// setTimeout(function() {
40+
// console.log('b');
41+
// counter--;
42+
// if (counter === 0) {
43+
// allDone();
44+
// }
45+
// }, 4000);
46+
47+
// counter++;
48+
// setTimeout(function() {
49+
// console.log('c');
50+
// counter--;
51+
// if (counter === 0) {
52+
// allDone();
53+
// }
54+
// }, 1000);
55+
56+
// write me some code which will ensure all three set timeouts have completed and then run
57+
// the allDone function
58+
59+
// do not wrap the allDone function in a setTimeout call with something like 5000
60+
61+
// fake Java or fake C#
62+
var con = open('database string');
63+
64+
var rst = con.query('select * from whatever')
65+
66+
console.log(rst);
67+
68+
// JavaScript
69+
open('database string'. con => {
70+
71+
con.query('select * from whatever'. rst => {
72+
73+
console.log(rst);
74+
75+
});
76+
77+
});
78+
79+
80+
81+
82+
83+
84+
85+

public/js/app.js

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,45 @@
11

2-
// pyramid of doom
3-
// setTimeout(function() {
2+
const youngMan = new Promise(function youngLady(resolve, reject) {
43

5-
// console.log('do this first');
4+
setTimeout(function() {
5+
reject('yes, I will marry you because I am madly in love with you...');
6+
}, 2000);
67

7-
// setTimeout(function() {
8+
});
89

9-
// console.log('do this second');
10+
youngMan.then(result => {
11+
console.log(result);
12+
console.log('yay! she said yes!');
1013

11-
// setTimeout(function() {
14+
console.log('time to look for a place!');
15+
return new Promise( (resolve) => {
16+
setTimeout(() => {
17+
resolve('found a place to get married!');
18+
}, 2000);
19+
});
1220

13-
// console.log('do this third');
14-
15-
// }, 500);
16-
17-
// }, 1000);
21+
}).then(result => {
1822

19-
// }, 2000);
23+
console.log(result);
2024

25+
console.log('time to find wedding garments!');
26+
return new Promise( (resolve, reject) => {
27+
setTimeout(() => {
28+
reject('found wedding garments!');
29+
}, 2000);
30+
});
31+
32+
}).then(result => {
2133

34+
console.log(result);
2235

23-
function allDone() {
24-
console.log('all done');
25-
}
36+
}).catch(result => {
37+
console.log(result);
38+
console.log('time to sign up for eHarmony');
2639

40+
});
2741

28-
setTimeout(function() {
29-
console.log('a');
30-
}, 2000);
31-
32-
setTimeout(function() {
33-
console.log('b');
34-
}, 4000);
35-
36-
setTimeout(function() {
37-
console.log('c');
38-
}, 1000);
39-
40-
// write me some code which will ensure all three set timeouts have completed and then run
41-
// the allDone function
42-
43-
// do not wrap the allDone function in a setTimeout call with something like 5000
44-
42+
console.log('young man is waiting...')
4543

4644

4745

0 commit comments

Comments
 (0)