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

时间:2016-10-05 11:53:59

标签: c# uwp

我有一段代码:

...
await func();

其中函数“func”定义为:

private Task func()
{
}

并且此函数定义给出错误:

  

func():并非所有代码路径都返回一个值。

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

2 个答案:

答案 0 :(得分:4)

您错过了函数中的async关键字:

private async Task func()
{
}

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

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

这将更好地解释How and When to use async and await

答案 1 :(得分:2)

您有该方法的返回类型,但您不会返回任何内容。

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