我这里有一些愚蠢的代码
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
现在递归工作正常,我得到了我想要的结果。当然,我的真实代码更复杂。然而,这被认为是不好的做法吗?
如果我以这种方式进行无限递归会怎样?有什么东西会吹吗?我的直觉是,我会继续将任务转储到堆上,而不是炸毁我的堆栈。