如何返回Threading.Task(of Boolean)的值



我想在方法中运行一个任务,并返回task生成的值,我该怎么做?

这就是我正在尝试的:

Private function blahblahblah as boolean
    Return Threading.Tasks.Task.Factory.StartNew(Of Boolean)(
        Function() As Boolean
            For X As Integer = 0 To RetryInterval
                NetworkAvaliable(String.Format(NoWebsiteRetryMessage, RetryInterval - X), True, StatusControl)
            Next
            Return False
        End Function)
End Function

重要的是要澄清,我想在不创建方法之外的其他变量的情况下进行此操作,例如:

dim value as boolean
Private function blahblahblah as boolean
    Threading.Tasks.Task.Factory.StartNew(Of Boolean)(
        Function() As Boolean
            For X As Integer = 0 To RetryInterval
                NetworkAvaliable(String.Format(NoWebsiteRetryMessage, RetryInterval - X), True, StatusControl)
            Next
            value = False
        End Function)
     Return value
End Function

我想避免那样的事情。

使用异步/Await

Private Async Sub callBlahBlahBlah()
    Dim result = Await blahblahblah()
End Sub
Private Function blahblahblah() As Task(Of Boolean)
    Return Threading.Tasks.Task.Factory.StartNew(Of Boolean)(
        Function() As Boolean
            For X As Integer = 0 To RetryInterval
                NetworkAvaliable(String.Format(NoWebsiteRetryMessage, RetryInterval - X), True, StatusControl)
            Next
            Return False
        End Function)
End Function

相关内容

最新更新