我有一个Win窗体,带有用于从用户收集信息的不同控件和上面的一个按钮。在按钮上单击时,我将在保存之前进行不同的验证,最后根据某些条件调用异步函数(如此):
button_CLick(object sender,EventArgs e)
{
validations()
if(conditiontrue) Then
Result() // Will this call block UI
else
savinglogic()
end if
}
Private Async Sub Result()
Dim result = Await Show()
If result = String.Empty Or result Is Nothing Then
Return
ElseIf (Await PostAsync(txtData(0).Text, txtData(1).Text, result)) Then
LogChangesForAudit()
Else
Return
End If
End Sub
Private Async Function Show() as Threading.Tasks.Task(of String)
Dim response = await CalltoWebAPIAsynchronouslyAndShowDataToUser()
return UserInputString
End Function
Private Async Function PostAsync(txtData(0).Text, txtData(1).Text, result)) as Threading.Tasks.Task(of Boolean)
Dim flag as Boolean=false
if savingdatafetchedfromSHow() then
flag=true
End if
return flag
End Function