正在等待非异步方法

本文关键字:异步方法 在等待 | 更新日期: 2023-09-27 18:31:32

我对 C# 中的整个 await/async 模式感到非常困惑。

我有一个表单应用程序,我想调用一个需要 20 秒才能完成大量处理的方法。因此,我想await它。我认为正确的方法是将其标记为async Task但这样做会产生警告,因为我不会在其中的任何地方使用await

谷歌透露了一些关于返回TaskCompletionSource<T>的信息,但我没有返回类型,因为它是无效的。

如何使用await调用此方法?

正在等待非异步方法

按如下方式调用方法:

await Task.Run(() => YourMethod());

当您使用 Task.Run 方法时,它会为您创建一个可等待的任务。