gpt4 book ai didi

c# - 为什么 "await"必须在 "async"方法中?

转载 作者:可可西里 更新时间:2023-11-01 09:11:58 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why does the async keyword exist

我有两种方法。一种是普通方法 (MyMethod),一种是异步方法 (MyMethodAsync)。我收到编译错误。

static string MyMethod()
{
var result = await MyMethodAsync(); // compile error here
return result;
}

async static Task<string> MyMethodAsync()
{
/** perform my logic here... **/
Thread.Sleep(1000);

return "yes";
}

错误信息是

The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'.

我很困惑。当我使用 await 关键字时,调用线程将被挂起并等待任务完成。所以一旦 await 被使用,该方法就不再是一个异步方法。对吧?

备注:我知道我应该把逻辑放在 MyMethodMyMethodAsync 调用 MyMethod 来实现我想要的。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com