一直在尝试按顺序执行任务,但它们是按随机顺序执行的。
- 在 .ContinueWith 之后附加 .Unwrap 没有帮助
- 从这些方法而不是 Task 返回 T 的 Task 并将它们的结果分配给调用者也不起作用
不确定我的方法的签名,它们是否应该包含 async/await。
测序任务:
Task biographies = LoadArtistBiographies(apiKey);
Task blogs = LoadArtistBlogs(apiKey);
Task familiarity = LoadArtistFamiliarity(apiKey);
Task hottness = LoadArtistHottness(apiKey);
Task images = LoadArtistImages(apiKey);
await biographies.ContinueWith(b => blogs);
await blogs.ContinueWith(f => familiarity);
await familiarity.ContinueWith(h => hottness);
await hottness.ContinueWith(i => images);
await images;
执行方法示例:
private async Task LoadArtistBiographies(string apiKey)
{
var parameters = new ArtistBiographiesParameters();
parameters.SetDefaultValues();
parameters.ApiKey = apiKey;
parameters.Id = _artistId;
ArtistBiographies biographies = await Queries.ArtistBiographies(parameters);
ItemsControlBiographies.ItemsSource = biographies.Biographies;
}
Queries.* 方法也是异步的:
public static async Task<ArtistBlogs> ArtistBlogs(ArtistBlogsParameters parameters)
链接本身正在执行异步任务的任务的正确语法是什么?