我有一些VB.net代碼是這樣:是否有可能/建議使用默認(空白)等待任務?
If (condition1) Then
Dim Task1 = function1Async()
Dim Task2 = function2Async()
Await Task.WhenAll(Task1, Task2)
Else
Dim Task1 = function1Async()
Dim Task3 = function3Async()
Await Task.WhenAll(Task1, Task3)
End If
但我寧願做這樣的事情:
Dim Task1 = function1Async()
Dim Task2 = New Task()
Dim Task3 = New Task()
If (condition1) Then
Task2 = function2Async()
Else
Task3 = function3Async()
End If
Await Task.WhenAll(Task1, Task2, Task3)
然而,「新建任務()」不會產生awaitable任務。 是否有某種最小awaitable的任務,我可以創造一個佔位符,如果不創建後來就真正任務?
那麼你可以* *必須指向一個什麼都不做的子任務,但你真的* *應該做的是建立要執行的* *真正的任務列表。 – Crono
我的真實代碼更加複雜,並且最終擁有單個Await語句的可維護性更高。 – Brent
可能的複製http://stackoverflow.com/questions/13127177/if-my-interface-must-return-task-what-is-the-best-way-to-have-a-no-operation-imp –