簡體   English   中英

如何訪問等待的 object 中的屬性和多個值?

[英]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

使用AsyncAwait的關鍵是您有以下轉換:

在異步例程方面, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM