回答編集履歴

1

表現の見直し

2019/02/25 07:25

投稿

tamoto
tamoto

スコア4110

test CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- もしかして、ブレクポイントの実行順序というのは、「`data.Result`の行に行った次にTask.Runの中に行く」という順序ではありませんか?
5
+ もしかして、ブレクポイントのステップ順序というのは、「`data.Result`の行に行った次にTask.Runの中に行く」という順序ではありませんか?
6
6
 
7
+ `data`はawaitしていない単なる`Task.Run`なので、そこで非同期的に実行するだけして自分はそのまま先に進むことになります。
8
+
7
- `data.Result`の呼び出しを行うと、その瞬間に`data`の結果が得られるまでブロックるため、全く非同期にならない問題が発生していま
9
+ しかし、その直後に`data.Result`の呼び出しを行っており、そこで`data`の結果が得られるまでブロックしているため、結果自体はlabel1に正しく反映されるように見えます。実際には、全く非同期になていません
8
10
 
9
11
  正しくは、`button1_Click`自体を非同期メソッドにして、その中で`label1.Text`への書き換えを「HttpGetの続き」として記述します。
10
12