1
如何在不實際調用方法的情況下等待來自異步方法的異步方法中的任務?如何從非異步方法異步調用異步方法
Class TestAsync
Dim workevent As New Threading.ManualResetEvent(False)
Sub work()
Dim Task As Task = Test()
'Do Work which affects Test Here
Threading.Thread.Sleep(100)
workevent.Set()
'wait for Test to complete
'Task.Wait() -causes the application to hang
End Sub
Async Function Test() As Task
workevent.WaitOne()
End Function
End Class
此函數正在單元測試中運行,所以它必須停止異步 – user1937198 2013-02-26 22:23:06
@ user1937198它不,如果你的單元測試框架支持'異步'。目前版本的大多數.Net單元測試框架都可以。 – svick 2013-02-26 22:24:24
+1。當前版本的MSTest,xUnit和NUnit都支持返回Task的'async'單元測試方法。 – 2013-02-27 01:42:34