use*_*719 16 .net task-parallel-library microsoft-metro
我正在写一个地铁应用程序.
这有效:
HttpClient client = new HttpClient();
var bytes = await client.GetByteArrayAsync(new Uri("www.microsoft.com"));
Run Code Online (Sandbox Code Playgroud)
这不是:
var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
var file = await folder.GetFileAsync("text.txt");
Run Code Online (Sandbox Code Playgroud)
第一个返回Task <>,第二个返回IAsyncOperation <>
有什么不同?为什么有两种不同的类型?我该如何修复第二个样本?
Ste*_*ary 22
IAsyncOperation是一个城域异步操作.你可以await的IAsyncOperation.
但是,您不能使用IAsyncOperation带有Task.WhenAll或Task.WhenAny.要使用IAsyncOperation这些方法的实例,您应该调用StartAsTask扩展方法,如下所示:
var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
var fileTask = folder.GetFileAsync("text.txt").AsTask();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8067 次 |
| 最近记录: |