检查Task.Factory.StartNew是否完成
本文关键字:是否 StartNew Task Factory 检查 | 更新日期: 2023-09-27 17:51:11
所以我目前被困在多线程与Task.Factory.StartNew
。我试图做的是从API站点异步加载数据,然后使用数据后的权利。
I tried to do:
var task = Task.Factory.StartNew(loadSummoner).ContinueWith(init);
private async void loadSummoner() {
summoner = await riotApi.GetSummonerAsync(region, summonerName);
leagues = await summoner.GetLeaguesAsync();
}
private void init(Task task) {
lblSummonerName.Content = summoner.Name;
}
但是这不起作用,因为它只是一个调用序列,而不是从第一个调用完成时开始的继续。最好的方法是什么?
提前感谢!
你的LoadSummoner
方法应该返回Task
:
private async Task LoadSummonerAndLeaguesAsync() {
summoner = await riotApi.GetSummonerAsync(region, summonerName);
leagues = await summoner.GetLeaguesAsync();
}
那么你就像这样调用它:
LoadSummonerAndLeaguesAsync().ContinueWith(init);