我正在开发 Windows Phone 8 应用程序。我必须将视频保存到相机胶卷文件夹中。
要获取相机胶卷文件夹的文件流,我使用以下 function :
[CLSCompliantAttribute(false)]
public static Task<Stream> OpenStreamForWriteAsync(
this IStorageFile windowsRuntimeFile
)
例如:
Stream videoStream = await file.OpenStreamForWriteAsync();
文件在哪里 StorageFile .
由于需要,我想删除此 await 并使函数同步。
编辑:
PS:我在不同的线程上执行这个函数,我希望那个线程是同步的。我想在创建文件流后对其进行写入。
最佳答案
只需访问Result
:
Stream videoStream = file.OpenStreamForWriteAsync().Result;
这将阻塞直到任务完成执行。
请注意,如果该代码在 UI 线程上执行,这可能会导致程序死锁。
请引用this blog post了解更多信息。
关于c# - 如何使异步函数(如 OpenStreamForWriteAsync)同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709619/