我有一个从电子邮件标题中提取值的函数。为了加快速度,想使用框架 4.5 中的异步。这是我第一次尝试使用异步。
我连续多次异步调用提取函数以提取不同的值。来自电子邮件标题。我遇到的麻烦是如何知道所有实例何时完成。我找到了一些例子,但没有一个适合我的条件任务。
我相信我需要:
- 调暗任务数组
- 将每个必要的任务添加到数组中
- 之后,使用 Task.WhenAll
但是,我不知道该怎么做。
'Extract these vars from header if no value was passed
'Calling HeaderExtract Async for speed
If Len(sClient) = 0 Then
sClient = HeaderExtractAsync("Client,", sHeaders).Result
' --> Add this as a new task?
End If
If Len(sSubscriptionNum) = 0 Then
sSubscriptionNum = HeaderExtractAsync("SubscriptionNum,", sHeaders).Result
End If
If Len(sTargetID) = 0 Then
sTargetID = HeaderExtractAsync("TargetID,", sHeaders).Result
End If
If Len(sAddressBook) = 0 Then
sAddressBook = HeaderExtractAsync("AddressBook,", strHeaders).Result
End If
' --> Check that all are done?