我正在为 Windows Phone 8+ 应用程序开发图像加载器库,当然它支持在磁盘上缓存。
因此,我需要将图像异步保存在磁盘上而不等待结果:
// Async saving to the storage cache without await
// ReSharper disable once CSharpWarnings::CS4014
Config.StorageCacheImpl.SaveAsync(imageUrl, downloadResult.ResultStream)
.ContinueWith(
task =>
{
if (task.IsFaulted || !task.Result)
{
Log("[error] failed to save in storage: " + imageUri);
}
}
);
如您所见,SaveAsync()
是 async 方法,它返回Task<bool>
,bool
如果保存图像,则结果为 true。
问题是编译器显示警告,因为我没有等待异步方法的结果,但是,我不需要等待它,我需要尽快将下载的图像返回给用户代码,在调用SaveAsync()
我返回之后下载的图像。
所以我将图像异步缓存到 IsolatedStorageFile,而且——不管它是否被缓存,因为如果没有——JetImageLoader 将再次加载它。
是否可以禁用此警告?
PS 如果你想查看 JetImageLoader 的源代码,我可以给你一个 GitHub 的链接。