如何做某事

时间:2019-04-27 17:31:58

标签: vb.net continuewith

Public Shared Async Function getMarketDetailFromAllExchangesAsync() As Task
    Dim taskList = New List(Of Task)
    For Each account In uniqueAccounts()
        Dim newtask = account.Value.getMarketInfoAsync()
        taskList.Add(newtask)

    Next
    Await Task.WhenAll(taskList.ToArray)

    Dim b = 1
End Function

代码工作正常。

但是,我想在每次任务完成时记录日志

所以我做到了

        newtask.ContinueWith(Async Function(x) LogEvents(account.ToString))

LogEvents是正常功能。我有2个错误

enter image description here

我应该怎么做?

1 个答案:

答案 0 :(得分:0)

我是这样做的

Public Shared Async Function getMarketDetailFromAllExchangesAsync() As Task
    Dim taskList = New List(Of Task)
    Dim starttime = jsonHelper.currentTimeStamp
    LogEvents("Start Getting Market Detail of All")
    For Each account In uniqueAccounts().Values
        Dim newtask = account.getMarketInfoAsync().ContinueWith(Sub() account.LogFinishTask("GetMarketDetail", starttime))
        taskList.Add(newtask)
        'newtask.ContinueWith(Sub() LogEvents(account.ToString))
    Next
    Await Task.WhenAll(taskList.ToArray)
    Dim b = 1
End Function

如果有人知道如何在没有lambda的情况下这样做,那就太好了。