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

回答編集履歴

2

表現修正

2020/10/12 01:35

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -3,7 +3,9 @@
3
3
 
4
4
  `asyncAfter()`は指定時間に処理をすることを**登録**しているだけなので
5
5
  `asyncAfter()`の実行自体は一瞬で終わります。
6
+ このとき、処理を登録しただけでまだ`countB`の値は変わっていません。
6
- なので`while`が高速で回って大量の処理が登録されてしまっています。
7
+ したがって`while`が高速で回り、大量の処理が次々と登録されてしまっています。
8
+ 結果としていつまで経っても終わらないように見えます。
7
9
 
8
10
  以下のようにすれば意図通りになるかと思います。
9
11
 

1

修正

2020/10/12 01:35

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -1,4 +1,5 @@
1
- 条件式は無視されてません。`countB<3`なため、いつまで経っても終わらなように見えるだけです。
1
+ 条件式は無視されてません。ちゃんと`countB<3`だからループが回っていす。
2
+ 以下の理由によりいつまで経っても終わらないように見えるだけです。
2
3
 
3
4
  `asyncAfter()`は指定時間に処理をすることを**登録**しているだけなので
4
5
  `asyncAfter()`の実行自体は一瞬で終わります。