在DLL中使用HttpClient子。但是调用应用程序想要获得一个真或假,作为HttpClient工作的返回。
所以我试着编写一个简单的调用应用程序,如此
Public Function SendBasket() As Integer
Try
SendMarketBasket()
If MktResp = "Loaded" Then
Return 0
ElseIf MktResp = "Nothing to Load" Then
Return -1
End If
Catch ex As Exception
Return -1
End Try
End Function
Private Async Sub SendMarketBasket()........
显然,在调用Async调用之后的If语句在MktResp设置之前立即运行。如何在异步调用完成后返回函数结果?
TIA 哈利
答案 0 :(得分:2)
将SendMarketBasket
方法更改为返回Task
然后你可以等待#34;任务完成并继续执行基于返回结果的代码
Private Async Function SendMarketBasketAsync() As Task
' your code
End Function
然后您需要将SendBasket
方法的签名更改为异步。
Public Async Function SendBasketAsync() As Task(Of Integer)
Await SendMarketBasketAsync()
If MktResp = "Loaded" Then
Return 0
ElseIf MktResp = "Nothing to Load" Then
Return -1
End If
End Function
如果为异步方法添加Async
后缀,它将为您和您的同事节省时间。
Async
就像僵尸一样,如果你开始在某个地方使用它会遍布你的所有应用程序 - 这不是坏事:)