Skip to content

Commit a2b5ed4

Browse files
committed
added mode code demos
1 parent 38bfdbb commit a2b5ed4

File tree

4 files changed

+147
-35
lines changed

4 files changed

+147
-35
lines changed

public/demos/promise_chaining.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
2+
const youngMan = new Promise(function youngLady(resolve, reject) {
3+
4+
setTimeout(function() {
5+
reject('yes, I will marry you because I am madly in love with you...');
6+
}, 2000);
7+
8+
});
9+
10+
youngMan.then(result => {
11+
console.log(result);
12+
console.log('yay! she said yes!');
13+
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+
});
20+
21+
}).then(result => {
22+
23+
console.log(result);
24+
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 => {
33+
34+
console.log(result);
35+
36+
}).catch(result => {
37+
console.log(result);
38+
console.log('time to sign up for eHarmony');
39+
40+
});
41+
42+
console.log('young man is waiting...')
43+
44+
45+
46+
47+
48+
49+
50+

public/demos/promise_grouping.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
2+
const p1 = new Promise(resolve => setTimeout(() => resolve('a'), 2000));
3+
const p2 = new Promise(resolve => setTimeout(() => resolve('b'), 4000));
4+
const p3 = new Promise( (resolve, reject) => setTimeout(() => reject('c'), 6000));
5+
const p4 = new Promise(resolve => setTimeout(() => resolve('d'), 8000));
6+
7+
p1.then(results => console.log(results));
8+
p2.then(results => console.log(results));
9+
p3.then(results => console.log(results)).catch(results => console.log('error: ' + results));
10+
p4.then(results => console.log(results));
11+
12+
Promise.all([p1,p2,p3,p4]).then(results => {
13+
console.log(results);
14+
console.log('all done');
15+
}).catch(results => {
16+
console.log(results);
17+
console.log('at least one failed');
18+
});
19+
20+
21+
22+
23+
24+
// class Person {
25+
// constructor(firstName, lastName) {
26+
// this.firstName = firstName;
27+
// this.lastName = lastName;
28+
29+
// this.getFullName = () => {
30+
// console.log(this.firstName + ' ' + this.lastName);
31+
// }
32+
33+
// }
34+
35+
// }
36+
37+
// const p = new Person('Bob', 'Smith');
38+
39+
// p.getFullName();
40+
41+
// // setTimeout(p.getFullName(), 2000);
42+
43+
// // const myBind = (fn, context) => {
44+
45+
// // return () => {
46+
// // fn.call(context);
47+
// // };
48+
49+
// // };
50+
51+
52+
// // setTimeout(myBind(p.getFullName, p), 2000);
53+
54+
// // setTimeout(function() {
55+
// // p.getFullName();
56+
// // }, 2000);

public/demos/promise_race.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
const hare = new Promise( (resolve, reject) => {
3+
4+
setTimeout(() => {
5+
resolve('hare');
6+
}, 4000)
7+
8+
} );
9+
10+
const tortoise = new Promise( (resolve, reject) => {
11+
12+
setTimeout(() => {
13+
resolve('tortoise');
14+
}, 2000)
15+
16+
} );
17+
18+
hare.then(() => console.log('hare is done...'));
19+
tortoise.then(() => console.log('tortoise is done...'));
20+
21+
Promise.race([ hare, tortoise ]).then(result => {
22+
console.log('and the winner is: ' + result);
23+
});

public/js/app.js

Lines changed: 18 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,33 @@
11

2-
const youngMan = new Promise(function youngLady(resolve, reject) {
2+
console.log(Promise.resolve('some data'));
3+
// console.log(Promise.reject('some data'));
34

4-
setTimeout(function() {
5-
reject('yes, I will marry you because I am madly in love with you...');
6-
}, 2000);
75

8-
});
6+
// function getCarData() {
97

10-
youngMan.then(result => {
11-
console.log(result);
12-
console.log('yay! she said yes!');
8+
// return new Promise(resolve => {
139

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-
});
10+
// setTimeout(function() {
11+
// resolve([{ make:'Audi' }]);
12+
// }, 2000);
2013

21-
}).then(result => {
14+
// });
2215

23-
console.log(result);
24-
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 => {
33-
34-
console.log(result);
35-
36-
}).catch(result => {
37-
console.log(result);
38-
console.log('time to sign up for eHarmony');
39-
40-
});
41-
42-
console.log('young man is waiting...')
16+
// }
4317

18+
function getMockCarData() {
19+
return Promise.resolve([{ make:'Tesla' }]);
20+
}
4421

22+
getMockCarData().then(cars => console.log(cars));
4523

4624

4725

4826

27+
const hare = new Promise( (resolve, reject) => {
4928

29+
setTimeout(() => {
30+
resolve('hare');
31+
}, 4000)
5032

33+
} );

0 commit comments

Comments
 (0)