質問編集履歴
2
引用箇所の修正をしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,11 +16,11 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
例えば、次のような非同期処理を上から順に行って行きたい時(a,b,c,dを順番に表示したい)、
|
19
|
+
例えば、次のような非同期処理を上から順に行って行きたい時(a,b,c,dを順番に表示したい)、下のように書き換えればa,b,c,dの順に表示されるようになります。
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
```JavaScript
|
23
|
+
> ```JavaScript
|
24
24
|
|
25
25
|
> setTimeout( () =>{console.log('a');},4000);
|
26
26
|
|
@@ -30,11 +30,11 @@
|
|
30
30
|
|
31
31
|
> setTimeout( () =>{console.log('d');},1000);
|
32
32
|
|
33
|
-
```
|
33
|
+
> ```
|
34
34
|
|
35
|
-
以下のように書き換えればa,b,c,dの順に表示されるようになります。
|
36
35
|
|
36
|
+
|
37
|
-
```JavaScript
|
37
|
+
> ```JavaScript
|
38
38
|
|
39
39
|
> (function(){
|
40
40
|
|
@@ -66,7 +66,7 @@
|
|
66
66
|
|
67
67
|
> })();
|
68
68
|
|
69
|
-
```
|
69
|
+
> ```
|
70
70
|
|
71
71
|
|
72
72
|
|
1
引用元の明記し、引用箇所を明示的にしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,13 @@
|
|
2
2
|
|
3
3
|
今、JavaScriptの非同期処理について学んでいます。
|
4
4
|
|
5
|
-
for文と非同期処理をうまく書く方法を探していたところ、とあるウェブサイトで以下のようなコードを見つけました。
|
5
|
+
for文と非同期処理をうまく書く方法を探していたところ、とあるウェブサイトで以下のようなコードを見つけました。
|
6
|
+
|
7
|
+
(参考URL:[javascriptで非同期処理をfor文で回したい。](http://d.hatena.ne.jp/IT7C/20160210/1455093466))
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
しかし、内容が理解出来ません。
|
6
12
|
|
7
13
|
|
8
14
|
|
@@ -16,13 +22,13 @@
|
|
16
22
|
|
17
23
|
```JavaScript
|
18
24
|
|
19
|
-
setTimeout( () =>{console.log('a');},4000);
|
25
|
+
> setTimeout( () =>{console.log('a');},4000);
|
20
26
|
|
21
|
-
setTimeout( () =>{console.log('b');},3000);
|
27
|
+
> setTimeout( () =>{console.log('b');},3000);
|
22
28
|
|
23
|
-
setTimeout( () =>{console.log('c');},2000);
|
29
|
+
> setTimeout( () =>{console.log('c');},2000);
|
24
30
|
|
25
|
-
setTimeout( () =>{console.log('d');},1000);
|
31
|
+
> setTimeout( () =>{console.log('d');},1000);
|
26
32
|
|
27
33
|
```
|
28
34
|
|
@@ -30,35 +36,35 @@
|
|
30
36
|
|
31
37
|
```JavaScript
|
32
38
|
|
33
|
-
(function(){
|
39
|
+
> (function(){
|
34
40
|
|
35
|
-
var arr = ['a','b','c','d'];
|
41
|
+
> var arr = ['a','b','c','d'];
|
36
42
|
|
37
|
-
var d = Promise.resolve();
|
43
|
+
> var d = Promise.resolve();
|
38
44
|
|
39
|
-
for(var i=0;i<arr.length;i++){
|
45
|
+
> for(var i=0;i<arr.length;i++){
|
40
46
|
|
41
|
-
d = d.then( function(i){
|
47
|
+
> d = d.then( function(i){
|
42
48
|
|
43
|
-
return new Promise((resolve,reject)=>{
|
49
|
+
> return new Promise((resolve,reject)=>{
|
44
50
|
|
45
|
-
setTimeout(()=>{
|
51
|
+
> setTimeout(()=>{
|
46
52
|
|
47
|
-
console.log(arr[i]);
|
53
|
+
> console.log(arr[i]);
|
48
54
|
|
49
|
-
resolve();
|
55
|
+
> resolve();
|
50
56
|
|
51
|
-
}
|
57
|
+
> }
|
52
58
|
|
53
|
-
,(4-i)*1000)
|
59
|
+
> ,(4-i)*1000)
|
54
60
|
|
55
|
-
})
|
61
|
+
> })
|
56
62
|
|
57
|
-
}.bind(null,i))
|
63
|
+
> }.bind(null,i))
|
58
64
|
|
59
|
-
}
|
65
|
+
> }
|
60
66
|
|
61
|
-
})();
|
67
|
+
> })();
|
62
68
|
|
63
69
|
```
|
64
70
|
|