错误:并非所有代码路径都返回可等待函数的值

本文关键字:返回 等待 函数 路径 代码 错误 | 更新日期: 2023-09-27 18:11:32

我有一段代码:

...
await func();

其中函数"func"定义为:

private Task func()
{
}

,这个函数定义给出了一个错误:

func():不是所有的代码路径都返回值。

我在这里需要什么样的价值?

错误:并非所有代码路径都返回可等待函数的值

您的函数中缺少async关键字:

private async Task func()
{
}

如果没有它,您正在定义一个返回类型为Task的对象的函数,但您没有return someTask;的行,因此得到编译错误。因此,除非你添加它,否则你将不得不返回一些任务。

否则,当指定async关键字时,您声明该函数将执行一些可以等待的代码。如果你没有await任何Task,你将收到一个警告:"This async method lacks 'await' operators and will run synchronously."。有关警告信息的更多信息,请阅读此问题。

这将更好地解释如何以及何时使用asyncawait

你有一个方法的返回类型,但是你不返回任何东西。

private Task func()
{
  return new Task();//the task
}