实现 LazyMan
# 实现 LazyMan
LazyMan('Hank');
// 输出:
// Hi! This is Hank!
LazyMan('Hank').sleep(3).eat('dinner')
// 输出:
// Hi! This is Hank!
// //等待3秒..
// Wake up after 3
// Eat dinner~
LazyMan('Hank').eat('dinner').eat('supper')
// 输出:
// Hi This is Hank!
// Eat dinner~
// Eat supper~
LazyMan('Hank').sleepFirst(2).eat('dinner').sleep(3).eat('supper')
// 输出:
// //等待2秒..
// Wake up after 2
// Hi This is Hank!
// Eat dinner~
// //等待3秒..
// Wake up after 2
// Eat supper~
// 以此类推
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
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
class LazyMan {
constructor(name) {
this.name = name;
setTimeout(() => {
console.log('Hi! This is ' + name);
}, 0);
}
sleep(seconds) {
const delay = seconds * 1000;
setTimeout(() => {
console.log('Wake up after' + seconds);
}, delay);
return this;
}
eat(something) {
setTimeout(() => {
console.log('Eat' + something);
}, 0);
return this;
}
sleepFirst(seconds) {
const delay = seconds * 1000;
setTimeout(() => {
console.log('Wake up after' + seconds);
}, delay);
return this;
}
}
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
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