[英]WebClient.DownloadFileAsync Method : How to retrieve the Object?
[英]How to wrap Webclient.DownloadFileAsync into an awaitable method?
我想将实际上是非阻塞的WebClient.DownloadFileAsync方法包装到一个返回 Task 的方法中,并且可以等待直到下载完成。
我理解订阅 DownloadFileCompleted 事件背后的逻辑,正如这里(以及许多其他帖子)所解释的,但我想将它包装成更用户友好的东西。 而且我对异步编程的了解也很肤浅。
我能想到的最好的方法是将 DownloadFile 方法(同步)包装到 Task 中并返回它,但我读过很多次将同步方法包装到异步方法上不是一个好习惯
return Task.Run(() =>client.DownloadFile(fileUri, localPath));
这实际上是我第一次遇到不可等待的异步方法,是否有这样的想法?
谢谢
根据上面@JonSkeet 的评论,答案是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.