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

回答編集履歴

3

文法の修正

2021/01/20 08:11

投稿

AT_2nd
AT_2nd

スコア266

answer CHANGED
@@ -15,10 +15,13 @@
15
15
  {
16
16
  return p.then(()=>
17
17
  {
18
- return gapi.load("client",()=>getCalEvents(v))
18
+ return gapi.load("client",()=>
19
+ {
20
+ return getCalEvents(v)
19
- .then(res=>ev.push(res));
21
+ .then(res=>ev.push(res));
22
+ });
20
23
  });
21
- },Promise.resolve());
24
+ },Promise.resolve())
22
25
  .then(()=>
23
26
  {
24
27
  console.log(ev);

2

文法の修正

2021/01/20 08:11

投稿

AT_2nd
AT_2nd

スコア266

answer CHANGED
@@ -15,9 +15,9 @@
15
15
  {
16
16
  return p.then(()=>
17
17
  {
18
- return gapi.load("client",()=>getCalEvents(v)
18
+ return gapi.load("client",()=>getCalEvents(v))
19
- .then(res=>ev.push(res);
19
+ .then(res=>ev.push(res));
20
- }
20
+ });
21
21
  },Promise.resolve());
22
22
  .then(()=>
23
23
  {

1

文言の修正

2021/01/20 08:07

投稿

AT_2nd
AT_2nd

スコア266

answer CHANGED
@@ -6,9 +6,9 @@
6
6
  内部ではオブジェクトとして扱っているだとか、IDを渡す度にAPIを初期化するのかとか、
7
7
  その辺りの事については解決しているものとして回答します。
8
8
 
9
- console.log(ev)の部分が実行される前に、Promise内部処理が全て完了するのを待つようにしましょう。
9
+ console.log(ev)の部分が実行される前に、for内部で回していた処理が全て完了するのを待ましょう。
10
- Promise.allを使いたい所ですが、gapi.client.init絡みで余計な事故が起こりそうなので、
10
+ 配列とPromiseの組み合わせなのでPromise.allを使いたい所ですが、gapi.client.init絡みで
11
- Array.reduceを使うパターンで回答します。
11
+ 余計な事故が起こりそうなため、Array.reduceを使うパターンで回答します。
12
12
  ```javascript
13
13
  const ev = [];
14
14
  CALENDAR_IDs.reduce((p,v)=>