我有一段代码:
...
await func();
其中函数“func”定义为:
private Task func()
{
}
并且此函数定义给出错误:
func():并非所有代码路径都返回一个值。
我在这需要什么样的价值?
答案 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。
答案 1 :(得分:2)
您有该方法的返回类型,但您不会返回任何内容。
private Task func()
{
return new Task();//the task
}