質問編集履歴
6
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -102,6 +102,6 @@
|
|
102
102
|
End Function
|
103
103
|
)
|
104
104
|
Await t2
|
105
|
-
Me.Output &=
|
105
|
+
Me.Output &= "fuga"
|
106
106
|
End Sub
|
107
107
|
```
|
5
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -80,4 +80,28 @@
|
|
80
80
|
```
|
81
81
|
- そもそも、これで非同期処理が書けているのかが疑問。また参考にしたサイトによると、「UIスレッド以外でセットさせると例外が発生する」とのことだが、発生しないのが謎(コマンドからの起動がおかしい?)
|
82
82
|
一応、別スレッド側で値を返して、本スレッドでセットさせるロジックも書いてみたが、やはりセットされない。
|
83
|
-
(そもそも本スレッドでセットしたら、非同期にならないんじゃないかとも思う)
|
83
|
+
(そもそも本スレッドでセットしたら、非同期にならないんじゃないかとも思う)
|
84
|
+
|
85
|
+
# 追記
|
86
|
+
考えが逆だったかも・・・
|
87
|
+
下のように書いたら、逐次反映できてた
|
88
|
+
```
|
89
|
+
Private Async Sub MyCommandExecute(ByVal para As Object)
|
90
|
+
Dim t As Task(Of String) = Task.Run(
|
91
|
+
Function()
|
92
|
+
Threading.Thread.Sleep(1000)
|
93
|
+
End Function
|
94
|
+
)
|
95
|
+
Await t
|
96
|
+
Me.Output &= "hoge"
|
97
|
+
|
98
|
+
Threading.Thread.Sleep(1000)
|
99
|
+
Dim t2 As Task(Of String) = Task.Run(
|
100
|
+
Function()
|
101
|
+
Threading.Thread.Sleep(1000)
|
102
|
+
End Function
|
103
|
+
)
|
104
|
+
Await t2
|
105
|
+
Me.Output &= t2.Result
|
106
|
+
End Sub
|
107
|
+
```
|
4
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -78,6 +78,6 @@
|
|
78
78
|
Me.Output &= t2.Result
|
79
79
|
End Sub
|
80
80
|
```
|
81
|
-
- そもそも、これで非同期処理が書けているのかが疑問。また参考にしたサイトによると、「UI以外
|
81
|
+
- そもそも、これで非同期処理が書けているのかが疑問。また参考にしたサイトによると、「UIスレッド以外でセットさせると例外が発生する」とのことだが、発生しないのが謎(コマンドからの起動がおかしい?)
|
82
82
|
一応、別スレッド側で値を返して、本スレッドでセットさせるロジックも書いてみたが、やはりセットされない。
|
83
83
|
(そもそも本スレッドでセットしたら、非同期にならないんじゃないかとも思う)
|
3
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,7 +65,7 @@
|
|
65
65
|
)
|
66
66
|
Await t
|
67
67
|
Threading.Thread.Sleep(1000)
|
68
|
-
|
68
|
+
Me.Output &= t.Result
|
69
69
|
|
70
70
|
Threading.Thread.Sleep(1000)
|
71
71
|
Dim t2 As Task(Of String) = Task.Run(
|
@@ -75,7 +75,7 @@
|
|
75
75
|
End Function
|
76
76
|
)
|
77
77
|
Await t2
|
78
|
-
|
78
|
+
Me.Output &= t2.Result
|
79
79
|
End Sub
|
80
80
|
```
|
81
81
|
- そもそも、これで非同期処理が書けているのかが疑問。また参考にしたサイトによると、「UI以外にセットさせると例外が発生する」とのことだが、発生しないのが謎(コマンドからの起動がおかしい?)
|
2
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,7 +59,7 @@
|
|
59
59
|
Private Async Sub MyCommandExecute(ByVal para As Object)
|
60
60
|
Dim t As Task(Of String) = Task.Run(
|
61
61
|
Function()
|
62
|
-
|
62
|
+
Me.Output &= "hoge"
|
63
63
|
Return "hoge"
|
64
64
|
End Function
|
65
65
|
)
|
@@ -70,7 +70,7 @@
|
|
70
70
|
Threading.Thread.Sleep(1000)
|
71
71
|
Dim t2 As Task(Of String) = Task.Run(
|
72
72
|
Function()
|
73
|
-
|
73
|
+
Me.Output &= "fuga"
|
74
74
|
Return "fuga"
|
75
75
|
End Function
|
76
76
|
)
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -79,4 +79,5 @@
|
|
79
79
|
End Sub
|
80
80
|
```
|
81
81
|
- そもそも、これで非同期処理が書けているのかが疑問。また参考にしたサイトによると、「UI以外にセットさせると例外が発生する」とのことだが、発生しないのが謎(コマンドからの起動がおかしい?)
|
82
|
-
一応、別スレッド側で値を返して、本スレッドでセットさせるロジックも書いてみたが、やはりセットされない。
|
82
|
+
一応、別スレッド側で値を返して、本スレッドでセットさせるロジックも書いてみたが、やはりセットされない。
|
83
|
+
(そもそも本スレッドでセットしたら、非同期にならないんじゃないかとも思う)
|