質問編集履歴

2

引用箇所の修正をしました。

2017/05/17 13:55

投稿

Takiro
Takiro

スコア7

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

引用元の明記し、引用箇所を明示的にしました。

2017/05/17 13:54

投稿

Takiro
Takiro

スコア7

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