teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

テキスト追加

2020/05/03 13:25

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -25,17 +25,13 @@
25
25
  JQuery を使うのでしたら、 fetch や Promise.all を使わず、$.getJSON と $.when を使ってもできます。
26
26
 
27
27
  ```javascript
28
+ const readers = ["first", "second"].map(file =>
28
- let data = {};
29
+ $.getJSON(`jsons/${file}.json`)
30
+ );
29
31
 
30
- const jsonReader = name =>
31
- $.getJSON(`jsons/${name}.json`, response => {
32
- data = { ...data, ...response };
33
- });
34
-
35
- const readers = ["first", "second"].map(jsonReader);
36
-
37
- $.when(...readers).done(() => {
32
+ $.when(...readers).done((...args) => {
33
+ const data = Object.assign({}, ...args.map(arg => arg[0]));
38
34
  $("#result").text(JSON.stringify(data, null, 4));
39
35
  });
40
36
  ```
41
- - **動作確認用codesandbox:** [https://codesandbox.io/s/q258489-mjmh2](https://codesandbox.io/s/q258489-mjmh2)
37
+ - **動作確認用codesandbox:** [https://codesandbox.io/s/q258489-9eo3w](https://codesandbox.io/s/q258489-9eo3w)

1

テキスト追加

2020/05/03 13:25

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -17,4 +17,25 @@
17
17
  });
18
18
  ```
19
19
 
20
- - **動作確認用codesandbox:** [https://codesandbox.io/s/q258489-yiqmi](https://codesandbox.io/s/q258489-yiqmi)
20
+ - **動作確認用codesandbox:** [https://codesandbox.io/s/q258489-yiqmi](https://codesandbox.io/s/q258489-yiqmi)
21
+
22
+
23
+ ### 追記
24
+
25
+ JQuery を使うのでしたら、 fetch や Promise.all を使わず、$.getJSON と $.when を使ってもできます。
26
+
27
+ ```javascript
28
+ let data = {};
29
+
30
+ const jsonReader = name =>
31
+ $.getJSON(`jsons/${name}.json`, response => {
32
+ data = { ...data, ...response };
33
+ });
34
+
35
+ const readers = ["first", "second"].map(jsonReader);
36
+
37
+ $.when(...readers).done(() => {
38
+ $("#result").text(JSON.stringify(data, null, 4));
39
+ });
40
+ ```
41
+ - **動作確認用codesandbox:** [https://codesandbox.io/s/q258489-mjmh2](https://codesandbox.io/s/q258489-mjmh2)