使用Async Await vb.net 4.5.2

时间:2017-07-10 10:34:19

标签: .net vb.net asynchronous

在我的代码中使用Await时遇到了一些麻烦。我收到以下错误消息; 'Await'要求'String'类型具有合适的GetAwaiter方法。

Async Function TestAsync() As Task(Of String)
    Dim test As String = Await FunctionThatReturnsString(x, y, z)
    Return test

非常感谢任何帮助。 (我检查了参考系统.Runtime.WindowsRuntime.dll,似乎无法找到它包含/添加它_

1 个答案:

答案 0 :(得分:0)

你应该始终坚持"异步#34;推荐,这意味着调用链中的所有内容都应该是异步的,包括FunctionThatReturnsString。但你可以像这样同步调用它:

Async Function TestAsync() As Task(Of String)
  Dim result As String = Nothing
  Dim worker As New Task(Sub()
                           result = FunctionThatReturnsString(1, 2, 3)
                         End Sub)
  worker.Start()
  worker.Wait()
  Return result
End Function

Function FunctionThatReturnsString(x, y, z) As String
  Return Guid.NewGuid().ToString()
End Function