我在 WPF 中有這個事件處理程式,帶有異步呼叫。
private void Button_Click(object sender, RoutedEventArgs e)
{
var folderStructure = restApiProvider.GetFolderStructure();
}
這里是實作GetFolderStructure():
public async Task<IList<string>> GetFolderStructure()
{
var request = new RestRequest(string.Empty, Method.Get);
var cancellationTokenSource = new CancellationTokenSource();
var response = await client.GetAsync(request, cancellationTokenSource.Token);
return JsonConvert.DeserializeObject<IList<string>>(response.Content);
}
我需要從中獲取資料GetFolderStructure()才能在應用程式中繼續,但這是我得到的輸出:

如果我添加folderStructure.Wait();呼叫不會自行完成并且整個應用程式會卡住。但是,如果我更改var folderStructure = restApiProvider.GetFolderStructure();為restApiProvider.GetFolderStructure();呼叫立即完成并且不會發生卡住。
我錯過了什么?
uj5u.com熱心網友回復:
使呼叫方法異步并等待結果:
private async void Button_Click(object sender, RoutedEventArgs e)
{
var folderStructure = await restApiProvider.GetFolderStructure();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471392.html
