【发布时间】:2018-01-03 22:38:44
【问题描述】:
我有一个页面,我在其中使用OnAppearing 方法从 API 检索数据:
protected override async void OnAppearing()
{
var content = await _client.GetStringAsync(Url);
var footmarks = JsonConvert.DeserializeObject<List<Footmark>>(content);
_footmarks = new ObservableCollection<Footmark>(footmarks);
listView.ItemsSource = _footmarks;
base.OnAppearing();
}
这很好用,但是在同一页面上我有 2 个事件处理程序,我还需要在其中进行相同的 API 调用。所以最好把它移到一个函数中。但是我该怎么做呢,因为事件处理程序不能异步?
所以理想情况下我会有这样的OnAppearing:
protected override async void OnAppearing()
{
listView.ItemsSource = GetFootmarks();
base.OnAppearing();
}
然后是调用相同方法的事件处理程序:
void Handle_Refreshing(object sender, System.EventArgs e)
{
listView.ItemsSource = GetFootmarks();
listView.EndRefresh();
}
我该怎么做?
【问题讨论】:
标签: c# xamarin xamarin.forms async-await