回答編集履歴

2

調整

2019/03/29 10:59

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -40,14 +40,26 @@
40
40
 
41
41
  (async()=>{
42
42
 
43
- wait(4,"x");
43
+ await wait(2,"a");
44
44
 
45
- await wait(2,"y");
45
+ wait(4,"b");
46
46
 
47
+ await wait(2,"c");
48
+
47
- await wait(1,"z");
49
+ await wait(1,"d");
48
50
 
49
51
  })();
50
52
 
53
+
54
+
51
55
  ```
52
56
 
57
+ 上記であれば、
58
+
59
+ 0. 2秒待ってaを表示
60
+
61
+ 0. そこから並行処理がはじまり、2秒待ってc
62
+
63
+ 0. 1秒待ってd
64
+
53
- 上記であれば、2秒待ってy,1秒待ってz,そ後全体の4秒後(zの1秒後)にxが出力されます
65
+ 0. aの4秒後(dの1秒後)にbが出力されます

1

調整

2019/03/29 10:59

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -23,3 +23,31 @@
23
23
  }
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ # 同期・非同期を調整
30
+
31
+
32
+
33
+ ```javascript
34
+
35
+ function wait(sec,txt) {
36
+
37
+ return new Promise((resolve)=>{setTimeout((v)=>{console.log(v);resolve();},sec*1000,txt)});
38
+
39
+ }
40
+
41
+ (async()=>{
42
+
43
+ wait(4,"x");
44
+
45
+ await wait(2,"y");
46
+
47
+ await wait(1,"z");
48
+
49
+ })();
50
+
51
+ ```
52
+
53
+ 上記であれば、2秒待ってy,1秒待ってz,その後全体の4秒後(zの1秒後)にxが出力されます