1
+ function move ( ele , position ) {
2
+ return new Promise ( ( resolve , reject ) => {
3
+ let left = 0 ;
4
+ let timer = setInterval ( ( ) => {
5
+ left += 5 ;
6
+ if ( left >= position ) {
7
+ clearInterval ( timer ) ;
8
+ ele . style . transform = `translateX(${ position } px)` ;
9
+ resolve ( ) ;
10
+ } else {
11
+ ele . style . transform = `translateX(${ left } px)` ;
12
+ }
13
+ } , 15 ) ;
14
+ } )
15
+ }
16
+ // axios,fetch
17
+ // 4) async + await
18
+ async function m ( ) {
19
+ await move ( ball1 , 100 ) ;
20
+ await move ( ball2 , 100 ) ;
21
+ await move ( ball3 , 100 ) ;
22
+ }
23
+ m ( ) . then ( data => {
24
+ alert ( 'ok' ) ;
25
+ } ) ;
26
+
27
+ // 3) generator
28
+ // function* m() {
29
+ // yield move(ball1, 500);
30
+ // yield move(ball2, 500);
31
+ // yield move(ball3, 500);
32
+ // }
33
+ // function co(it) {
34
+ // return new Promise((resolve, reject) => {
35
+ // function next(data) {
36
+ // let { done, value } = it.next(data);
37
+ // if (done) return resolve(value);
38
+ // value.then(data => {
39
+ // next(data);
40
+ // }, reject);
41
+ // }
42
+ // next();
43
+ // })
44
+ // }
45
+
46
+
47
+ // co(m()).then(data => {
48
+ // alert('ok');
49
+ // })
50
+
51
+
52
+
53
+ // 2)promise
54
+ // move(ball1,500).then(data=>{
55
+ // return move(ball2,500)
56
+ // }).then(data=>{
57
+ // return move(ball3,200);
58
+ // }).then(data=>{
59
+ // alert('ok');
60
+ // })
61
+
62
+
63
+ // 1)callback
64
+ // move(ball1,500,function () {
65
+ // move(ball2, 500, function () {
66
+ // move(ball3, 500, function () {
67
+ // alert('动完了');
68
+ // })
69
+ // })
70
+ // })
0 commit comments