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

回答編集履歴

2

書式の改善

2019/03/06 01:50

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37535

answer CHANGED
@@ -15,7 +15,7 @@
15
15
  }
16
16
  })())
17
17
  ```
18
- なので、`.then(Promise.all([4,5,6]))`のように書くと、'Primise.all()'は即座に評価され、Primise.allの引数が即座に評価され、配列の関数が実行されるので、全ての関数がほぼ同時に解決を始めます。
18
+ なので、`.then(Promise.all([4,5,6]))`のように書くと、`Primise.all()`は即座に評価され、Primise.allの引数が即座に評価され、配列の関数が実行されるので、全ての関数がほぼ同時に解決を始めます。
19
19
 
20
20
  二つ目のコードで言うと、
21
21
  ```js
@@ -23,4 +23,4 @@
23
23
  return Promise.all(arr)
24
24
  }
25
25
  ```
26
- とありますから、`promisewrapper`が呼ばれる=戻り値が評価される='Promise.all(arr)'が評価されます。ですから、`array = array.map((x, i) => promisewrapper(x, i))`の時点で解決が始まってしまいます。戻り値を評価して欲しくないなら関数でラップして返すしかないでしょう。
26
+ とありますから、`promisewrapper`が呼ばれる=戻り値が評価される=`Promise.all(arr)`が評価されます。ですから、`array = array.map((x, i) => promisewrapper(x, i))`の時点で解決が始まってしまいます。戻り値を評価して欲しくないなら関数でラップして返すしかないでしょう。

1

追記

2019/03/06 01:50

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37535

answer CHANGED
@@ -15,4 +15,12 @@
15
15
  }
16
16
  })())
17
17
  ```
18
- なので、`.then(Promise.all([4,5,6]))`のように書くと、'Primise.all()'は即座に評価され、Primise.allの引数が即座に評価され、配列の関数が実行されるので、全ての関数がほぼ同時に解決を始めます。
18
+ なので、`.then(Promise.all([4,5,6]))`のように書くと、'Primise.all()'は即座に評価され、Primise.allの引数が即座に評価され、配列の関数が実行されるので、全ての関数がほぼ同時に解決を始めます。
19
+
20
+ 二つ目のコードで言うと、
21
+ ```js
22
+ function promisewrapper(arr){
23
+ return Promise.all(arr)
24
+ }
25
+ ```
26
+ とありますから、`promisewrapper`が呼ばれる=戻り値が評価される='Promise.all(arr)'が評価されます。ですから、`array = array.map((x, i) => promisewrapper(x, i))`の時点で解決が始まってしまいます。戻り値を評価して欲しくないなら関数でラップして返すしかないでしょう。