我有一個工作異步方法(網絡刮)工作,但不能更新視圖。 我可以看到INotifyPropertyChanged事件沒有觸發。我可以從任務<ObservableCollection <Class>>轉到ObservableCollection <Class>?
在我的構造我打電話,像這樣的異步方法:
Task<ObservableCollection<Team>> TeamRows2 = Scrape();
我刮痧方法返回:
ObservableCollection<Team> rows
通過這種方法簽名:
private async Task<ObservableCollection<Team>> Scrape()
ObservableCollection<Team> rows = new ObservableCollection<Team>();
// do Async work
return rows;
我可以看到行獲取充滿異步網站獲得的數據。
但是,Scrape調用在返回時似乎不會加載包含行的TeamRows2。
我需要從普通的ObservableCollection投從某種程度上任務爲工作?
謝謝
演員?不,不,不,不...你想要的是[結果](https://msdn.microsoft.com/en-us/library/dd321468(v = vs.110).aspx)。編輯:我認爲沒有'async'會更好。 – Theraot
您需要等待任務完成。無論是「await」還是調用任務 – Jonesopolis
上的「.Result」Do ** not **使用Task.Result。閱讀[Stephen Cleary]的偉大博客(https://blog.stephencleary.com/)爲什麼你不應該這樣做 –