回答編集履歴

2

調整

2017/11/21 05:27

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -64,7 +64,7 @@
64
64
 
65
65
  var a=["1.php","2.php","3.php","4.php","5.php"];
66
66
 
67
- var b=[null,null,null,null,null];
67
+ var b=a.map(function(){return null});
68
68
 
69
69
  for(var i=0;i<a.length;i++){
70
70
 

1

追記

2017/11/21 05:27

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -55,3 +55,143 @@
55
55
  }
56
56
 
57
57
  ```
58
+
59
+ # 追記
60
+
61
+ ※遅延を発生させるため、読み込むファイルはphpを指定してあります
62
+
63
+ ```javascript
64
+
65
+ var a=["1.php","2.php","3.php","4.php","5.php"];
66
+
67
+ var b=[null,null,null,null,null];
68
+
69
+ for(var i=0;i<a.length;i++){
70
+
71
+ getData(i,a[i]);
72
+
73
+ };
74
+
75
+ var pointer=0;
76
+
77
+ var counter=0;
78
+
79
+ var timerId=setInterval(function(){
80
+
81
+ while(b[pointer]!==null){
82
+
83
+ console.log(b[pointer]);
84
+
85
+ pointer++;
86
+
87
+ if(pointer>=b.length){
88
+
89
+ console.log("all.done!");
90
+
91
+ clearInterval(timerId);
92
+
93
+ break;
94
+
95
+ }
96
+
97
+ }
98
+
99
+ counter++;
100
+
101
+ if(counter>100){
102
+
103
+ console.log("stop!");
104
+
105
+ clearInterval(timerId);
106
+
107
+ }
108
+
109
+ },100);
110
+
111
+ function getData(num,url){
112
+
113
+ var xhr = new XMLHttpRequest();
114
+
115
+ xhr.open( "GET", url );
116
+
117
+ xhr.onreadystatechange=function(){
118
+
119
+ if(( xhr.readyState == 4 ) && ( xhr.status == 200 )){
120
+
121
+ b[num]=xhr.response;
122
+
123
+ }
124
+
125
+ }
126
+
127
+ xhr.send( '' );
128
+
129
+ }
130
+
131
+ ```
132
+
133
+ - 1.php
134
+
135
+ ```PHP
136
+
137
+ <?PHP
138
+
139
+ echo 1;
140
+
141
+ ?>
142
+
143
+ ```
144
+
145
+ - 2.php
146
+
147
+ ```PHP
148
+
149
+ <?PHP
150
+
151
+ sleep(3);
152
+
153
+ echo 2;
154
+
155
+ ?>
156
+
157
+ ```
158
+
159
+ - 3.php
160
+
161
+ ```PHP
162
+
163
+ <?PHP
164
+
165
+ sleep(2);
166
+
167
+ echo 3;
168
+
169
+ ?>
170
+
171
+ ```
172
+
173
+ - 4.php
174
+
175
+ ```PHP
176
+
177
+ <?PHP
178
+
179
+ sleep(4);
180
+
181
+ echo 4;
182
+
183
+ ?>
184
+
185
+ ```
186
+
187
+ - 5.php
188
+
189
+ ```PHP
190
+
191
+ <?PHP
192
+
193
+ echo 5;
194
+
195
+ ?>
196
+
197
+ ```