如何使异步函数(如OpenStreamForWriteAsync)同步
本文关键字:同步 OpenStreamForWriteAsync 函数 何使 异步 | 更新日期: 2023-09-27 17:57:38
我正在开发一款windows phone 8应用程序。我必须将视频保存到相机胶卷文件夹中。
为了获得相机胶卷文件夹的文件流,我使用以下功能:
[CLSCompliantAttribute(false)]
public static Task<Stream> OpenStreamForWriteAsync(
this IStorageFile windowsRuntimeFile
)
例如:
Stream videoStream = await file.OpenStreamForWriteAsync();
其中file是StorageFile。
由于需要,我想删除这个等待并使函数同步。
编辑:
PS:我在不同的线程上执行这个函数,我希望那个线程是同步的。我想在文件流创建后在它上面写。
只需访问Result
:
Stream videoStream = file.OpenStreamForWriteAsync().Result;
这将被阻止,直到任务完成执行
请注意,如果代码在UI线程上执行,这可能会导致程序死锁
有关更多信息,请参阅此博客文章。