.net C# -断点未命中或编译错误`无法隐式地将类型'void'转换为'System.Threading.Tasks. Task'`

iszxjhcz  于 2023-04-13  发布在  .NET
关注(0)|答案(1)|浏览(240)

我调用了一个返回Task的函数。

Task<string> functionResult = ExecuteAsync(id, key).Wait();

那么我的ExecuteAsync方法看起来像

public async Task<string> ExecuteAsync(int id ,string key)
{

return string myApiEndPoint = await GetMyApiEndpoint(url, key);

}

为什么我不能对ExecuteAsync()使用Wait()?
我也试过了

Task<string> functionResult = ExecuteAsync(id, key);
Task.WaitAll(functionResult);

但是,在这种情况下,它甚至没有命中ExecuteAsync方法返回语句中的断点。

zbdgwd5y

zbdgwd5y1#

如果出于任何原因,你不想或不能使用async方法,你可以用途:

string functionResult = ExecuteAsync(id, key).GetAwaiter().GetResult();

但要记住,这可能会造成僵局。

相关问题