gpt4 book ai didi

c# - 为什么我必须使用等待异步运行的方法。如果我不想在继续之前等待方法完成怎么办?

转载 作者:可可西里 更新时间:2023-11-01 08:06:33 24 4
gpt4 key购买 nike

<分区>

我整天都在翻阅 MSDN 文档,他们的异步编码理念让我感到困惑。据我了解,如果调用异步方法,调用异步方法的线程不会被阻塞。然而,async 在示例中总是与 await 配对,这似乎否定了异步性,使得外部方法无论如何都必须等待代码执行。我不应该能够调用异步方法然后继续执行外部方法吗?

我或多或少遇到过这种情况:

void reportSomethingHappened(info)
- Collect info
- HTTP POST info to logging server (ie. mixpanel, sentry)

这里是一个调用方法:

void largerProcess
if (whatever)
reportSomethingHappened();
bla;
bla;

据我所知,由于 POST 请求可以异步完成,我应该能够将 reportSomethingHappened() 变成异步方法(通过 AFAIK,等待 web 请求,并添加 async 关键字)。

但是 largerProcess 方法不需要等待(即等待)报告方法完成以执行 bla bla。然而,VS 告诉我,使用异步方法我可以等待它,或者它会同步发生并阻塞。这不是违背了分开做的目的吗?

我该如何编写才能使 reportSomethingHappened 不会阻止 largerProcess 的执行? (这本质上让我感到困惑,因为我一直认为这就是异步的意义所在)

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