加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

.net – Task lt;gt;和IAsyncOperation lt;gt

发布时间:2021-03-14 06:29:22 所属栏目:Windows 来源:网络整理
导读:我正在写一个地铁应用程序 这样做: HttpClient client = new HttpClient(); var bytes = await client.GetByteArrayAsync(new Uri("www.microsoft.com")); 这不是: var folder = Windows.Storage.ApplicationData.Current.LocalFolder; var file = await

我正在写一个地铁应用程序

这样做:

HttpClient client = new HttpClient();
    var bytes = await client.GetByteArrayAsync(new Uri("www.microsoft.com"));

这不是:

var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
    var file = await folder.GetFileAsync("text.txt");

第一个返回任务<>,第二个返回IAsyncOperation<>

有什么不同?为什么有两种不同的类型?如何修复第二个样本?

IAsyncOperation是一种城域异步操作.您可以等待IAsyncOperation.

但是,您不能将IAsyncOperation与Task.WhenAll或Task.WhenAny一起使用.要使用IAsyncOperation实例与这些方法,您应该调用StartAsTask扩展方法,因此:

var folder = Windows.Storage.ApplicationData.Current.LocalFolder;
var fileTask = folder.GetFileAsync("text.txt").StartAsTask();

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!