【发布时间】:2012-10-10 22:13:29
【问题描述】:
我这里有一些简化的代码
Async Function GetCoolNumber() As Task(Of Double)
Dim n = Await GetNumberFromSomeAsyncSource()
If IsCool(n) Then
Return n
End If
Return Await GetCoolNumber()
End Function
Private Function GetNumberFromSomeAsyncSource() As Task(Of Double)
Private Function IsCool(n As Object) As Boolean
现在递归工作正常,我得到了我想要的结果。当然,我的真实代码更复杂。然而,这被认为是不好的做法吗?
如果我以这种方式进行无限递归会怎样?有什么东西会吹吗?我的直觉是我会继续将任务转储到堆上而不是耗尽我的堆栈。
【问题讨论】:
标签: vb.net asynchronous recursion async-await ctp