问题描述
我必须从两个不同的源加载数据,因为我有一个异步方法,其中包含两个任务。我想在任务完成后立即填充我的observableCollection。
例如,如果task1首先完成,我想在第一个任务的末尾填充我的ObservableCollection,然后在第二个任务的末尾填充
我的ObservableCollection就像:
viewmodels = new NotifyTaskCompletion<ObservableCollection<Iviewmodel>>(Search());
我的异步方法:
private async Task<ObservableCollection<Iviewmodel>> Search()
{
Task<List<Iviewmodel>> task1 = Task.Run(
() =>
{
return new List<Iviewmodel>() // my data here
});
Task<List<Iviewmodel>> task2 = Task.Run(
() =>
{
return new List<Iviewmodel>() // my data from other source here
}
);
return await Task.WhenAny(task1,task2).ContinueWith((task) =>
{
if (task == task1)
return task1.Result.ToObservableCollection();
return task1.Result.Union(task2.Result).ToObservableCollection();
});
}
感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)