private async void TriggerWeekChanged(Week currentWeek)
{
await LoadDataForSelectedWeek(currentWeek); //Split into multiple methods
}
在用户点击“Change_Week”按钮时,如何取消当前任务并使用新的参数启动新任务?
我尝试过以下方法:
private async Task Refresh(Week selectedWeek, CancellationToken token)
{
Collection.Clear();
await LoadDataFromDatabase();
token.ThrowIfCancellationRequested();
await ApplyDataToBindings();
token.ThrowIfCancellationRequested();
//Do some other stuff
}
问题是:
当我连续快速点击按钮时,在我的Collection
中会出现来自多个周的数据。
TriggerWeekChanged
方法是async void
。请看一下我在答案末尾添加的注释。 - Bradley UffnerTask
类型。感谢您的提醒! - Felix D.