質問編集履歴
9
補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -51,4 +51,4 @@
|
|
51
51
|
```
|
52
52
|
|
53
53
|
# 補足
|
54
|
-
低評価を押す場合は理由を添えてください。マイナス評価が多いにも関わらず、物凄く有益な回答を頂いており、価値あるページになっていると思います。
|
54
|
+
低評価を押す場合は理由を添えてください。マイナス評価が多いにも関わらず、**質問の趣旨に沿った**物凄く有益な回答を頂いており、価値あるページになっていると思います。あえて、質問の趣旨に意図的に沿わない回答をする必要はないかと思いますので、的外れな回答はお控えください。
|
8
ほそく
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
以下のコードを用いてライブラリやPromiseなどを使わずに、5つのurlに対して次々にほぼ同時にリクエストを送って、「1.txt、2.txt、3.txt、4.txt、5.txt」と指定した順番にレスポンス結果を出力し、最後に「all done!」と出力する為には、みなさんならどのような書き方をしますか?
|
2
2
|
|
3
|
-
注意点としては、1つの目のリクエストのレスポンスを受けた後に、次のリクエストを送るといった順列処理ではなく、最初に5つのリクエストをほぼ同時に行って、指定の順序でレスポンスを出力するというところです。
|
3
|
+
注意点としては、**1つの目のリクエストのレスポンスを受けた後に、次のリクエストを送るといった順列処理ではなく、最初に5つのリクエストをほぼ同時に行って、指定の順序でレスポンスを出力する**というところです。
|
4
4
|
|
5
|
+
補足:KSwordOfHasteさんの回答にあったように、**「結果が揃っている部分だけはできるだけ早く(しかし順番を守って)処理したい」**という想定です。
|
6
|
+
|
7
|
+
また、以下に掲載するコードを使ってください。どうしても使いたくない場合は、それはそれでOKとします。。。**以下の掲載コードにある関数外にコードを書くのはOKです。**
|
8
|
+
|
9
|
+
また、前述の通り、ライブラリやPromiseなどを使うのはNGとします。
|
10
|
+
|
5
11
|
尚、自分も後で自分なりのやり方を投稿しますが、やり方を教えて欲しいといった類の質問ではなく、どういったやり方をみなさんがされるかに興味があるため、「コードを載せてください」といった趣旨に沿わないコメントは不要です。
|
6
12
|
|
7
13
|
```JavaScript
|
7
。
title
CHANGED
File without changes
|
body
CHANGED
@@ -45,4 +45,4 @@
|
|
45
45
|
```
|
46
46
|
|
47
47
|
# 補足
|
48
|
-
低評価を押す場合は理由を添えてください。
|
48
|
+
低評価を押す場合は理由を添えてください。マイナス評価が多いにも関わらず、物凄く有益な回答を頂いており、価値あるページになっていると思います。
|
6
ほそく
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,4 +42,7 @@
|
|
42
42
|
4th request
|
43
43
|
5th request
|
44
44
|
all done!
|
45
|
-
```
|
45
|
+
```
|
46
|
+
|
47
|
+
# 補足
|
48
|
+
低評価を押す場合は理由を添えてください。
|
5
comment
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,9 @@
|
|
5
5
|
尚、自分も後で自分なりのやり方を投稿しますが、やり方を教えて欲しいといった類の質問ではなく、どういったやり方をみなさんがされるかに興味があるため、「コードを載せてください」といった趣旨に沿わないコメントは不要です。
|
6
6
|
|
7
7
|
```JavaScript
|
8
|
+
// ajaxのフェイクバージョンのつもり
|
8
|
-
function
|
9
|
+
function fakeAjax(url, callback){
|
10
|
+
//レスポンスまでのランダムなタイムラグをシミュレート
|
9
11
|
var time = Math.floor(Math.random()*(3000-1000)+1000);
|
10
12
|
var responseMock = {
|
11
13
|
"1.txt": "1st request",
|
4
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,8 +6,7 @@
|
|
6
6
|
|
7
7
|
```JavaScript
|
8
8
|
function ajax(url, callback){
|
9
|
-
var time = Math.floor(Math.random()
|
9
|
+
var time = Math.floor(Math.random()*(3000-1000)+1000);
|
10
|
-
|
11
10
|
var responseMock = {
|
12
11
|
"1.txt": "1st request",
|
13
12
|
"2.txt": "2nd request",
|
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
尚、自分も後で自分なりのやり方を投稿しますが、やり方を教えて欲しいといった類の質問ではなく、どういったやり方をみなさんがされるかに興味があるため、「コードを載せてください」といった趣旨に沿わないコメントは不要です。
|
6
6
|
|
7
7
|
```JavaScript
|
8
|
-
function ajax
|
8
|
+
function ajax(url, callback){
|
9
9
|
var time = Math.floor(Math.random() * (3000 - 1000) + 1000);
|
10
10
|
|
11
11
|
var responseMock = {
|
2
mock
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
function ajax = (url, callback) => {
|
9
9
|
var time = Math.floor(Math.random() * (3000 - 1000) + 1000);
|
10
10
|
|
11
|
-
var
|
11
|
+
var responseMock = {
|
12
12
|
"1.txt": "1st request",
|
13
13
|
"2.txt": "2nd request",
|
14
14
|
"3.txt": "3rd request",
|
@@ -16,15 +16,21 @@
|
|
16
16
|
"5.txt": "5th request"
|
17
17
|
};
|
18
18
|
setTimeout(() => {
|
19
|
-
callback(
|
19
|
+
callback(responseMock[url]);
|
20
20
|
}, time);
|
21
21
|
}
|
22
22
|
|
23
23
|
function getFile(url){
|
24
24
|
fakeAjax(url, function(response){
|
25
|
-
|
25
|
+
//
|
26
26
|
});
|
27
27
|
}
|
28
|
+
|
29
|
+
getFile("1.txt");
|
30
|
+
getFile("2.txt");
|
31
|
+
getFile("3.txt");
|
32
|
+
getFile("4.txt");
|
33
|
+
getFile("5.txt");
|
28
34
|
```
|
29
35
|
|
30
36
|
# 期待するログ出力の結果(console.log)
|
1
細く
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
以下のコードを用いてライブラリやPromiseなどを使わずに、5つのurlに対して次々にほぼ同時にリクエストを送って、「1.txt、2.txt、3.txt、4.txt、5.txt」と指定した順番にレスポンス結果を出力し、最後に「all done!」と出力する為には、みなさんならどのような書き方をしますか?
|
2
2
|
|
3
|
-
注意点としては、1つの目のリクエストのレスポンスを受けた後に、次のリクエストを送るといった順列処理ではなく、最初に5つのリクエストをほぼ同時に行って、指定の順序でレスポンスを出力するというところです。また、以下に掲載するコードを使ってください。(どうしても使いたくない場合は、それはそれでOKとします。。。)
|
3
|
+
注意点としては、1つの目のリクエストのレスポンスを受けた後に、次のリクエストを送るといった順列処理ではなく、最初に5つのリクエストをほぼ同時に行って、指定の順序でレスポンスを出力するというところです。また、以下に掲載するコードを使ってください。(どうしても使いたくない場合は、それはそれでOKとします。。。)また、前述の通り、ライブラリやPromiseなどを使うのはNGとします。
|
4
4
|
|
5
5
|
尚、自分も後で自分なりのやり方を投稿しますが、やり方を教えて欲しいといった類の質問ではなく、どういったやり方をみなさんがされるかに興味があるため、「コードを載せてください」といった趣旨に沿わないコメントは不要です。
|
6
6
|
|