【发布时间】:2021-11-18 08:41:42
【问题描述】:
我有一个使用 Xamarin 社区工具包 TabView 使用的 Web API 端点。在选项卡选择更改时,我正在调用/发出获取请求。
请求:
public async void loadOtherData(string grp)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://xxxx.somee.com/api/GetTaskByStatus/");
var responseTask = client.GetAsync(grp);
responseTask.Wait();
var res = responseTask.Result;
if (res.IsSuccessStatusCode)
{
string readTask = await res.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject<ObservableCollection<api>>(readTask);
Items1 = new ObservableCollection<api>(data);
AcceptList.ItemsSource = Items1;
}
}
}
此方法loadOtherData("") 从 API 获取数据,并将其绑定到列表。
我有一个 Tabview,当我更改选择选项卡时,我调用此方法:
private void AssignedTab_TabTapped(object sender, TabTappedEventArgs e)
{
await loadOtherData("Assigned");
}
private void PendingTab_TabTapped(object sender, TabTappedEventArgs e)
{
await loadOtherData("Pending");
}
我面临的挑战是,当我从一个选项卡切换到另一个选项卡时,该选项卡会冻结几秒钟,直到检索并绑定 API 数据。
我想要的是标签在从 Api 加载数据时切换而不会冻结
我正在使用后面的代码,我该如何处理?
【问题讨论】:
标签: c# asp.net-core asp.net-web-api xamarin.forms xamarin.android