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

回答編集履歴

1

注意点追加

2020/01/07 08:45

投稿

moongift
moongift

スコア250

answer CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  解決策としては async/await を使って非同期処理を止める、またはループ処理を別な関数にする手があります。別な関数にすれば、変数の空間が分かれるので、上書きを防止できます。
14
14
 
15
- 例えばこんな感じです(ちゃんと動くかは実行していないので保証できません)。
15
+ 例えばこんな感じです(ちゃんと動くかは実行していないので保証できません)。ただし、この方法では並び順(ダウンロード完了順)は保証できません。
16
16
 
17
17
  ```js
18
18
  function select(category) {
@@ -129,4 +129,6 @@
129
129
  console.log(error);
130
130
  }
131
131
  }
132
- ```
132
+ ```
133
+
134
+ async/awaitはforループ中のダウンロード完了を待ってしまうので、非同期処理で次々とダウンロードが行われるのに比べると時間がかかってしまいます。ただし並び順は保証できます。