[英]How to access properties and multiple values in an awaited object?
我有一個 class ,其中包含一些我需要訪問另一個文件中的值的屬性。
Public Class ReturnValues
Public Property result As String
Public Property resultBank As String
Public Property resultAddressMatch As String
End Class
我調用我的異步 function 並創建我的 object 的新實例
Dim results As ReturnValues = New ReturnValues()
Public Shared Async Function x(ByVal sUserID As String) As Threading.Tasks.Task(Of Object)
它繼續調用外部 api,我得到我的結果並將它們存儲為 object
results.result = data.data.attributes.result
results.resultBank = data.data.attributes.bank_account_match
results.resultAddressMatch = data.data.attributes.name_and_address_match
Return results
在我的另一個文件中,我等待結果。 我可以在調試時看到等待的結果包含 Result 的一個屬性,該屬性具有我需要訪問的三個數據。
Await result
我不太確定我 go 從這里到哪里,因為我不能放。 在結果之后並訪問任何相關的內容。
我確實嘗試將其顯式轉換為列表並以這種方式訪問它們,但沒有這樣的運氣。
Dim list = CType(result, Object())
sResult = list(0)
sResultBank = list(1)
sResultNameAddressMatch = list(2)
如何從我的結果 object 中獲得 3 個結果?
嘗試這個
dim R as ReturnValues = await result
使用Async
和Await
的關鍵是您有以下轉換:
在異步例程方面, Function x As SomeType
變成Async Function x As Task(Of SomeType)
。
在來電者一側:
Dim y as SomeType
'...
y = x()
變成:
Dim y as SomeType
'...
y = Await x()
如果您不將其編寫為異步代碼,我希望您不會嘗試將ReturnValues
類型的內容轉換為List
。 您應該編寫客戶端,就好像 function 不是異步的,然后在調用中插入Await
。 rest 將按照您的預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.