gpt4 book ai didi

.net - 在非异步方法中调用异步方法而不等待?

转载 作者:行者123 更新时间:2023-12-04 13:57:01 25 4
gpt4 key购买 nike

在没有等待和非异步方法的情况下调用异步方法的行为是什么?我问是因为我看到 Visual Studio 没有在调用异步方法时显示任何警告,就好像这是一件非常正常的事情。在这种情况下,异步方法是否表现得好像是同步的?

最佳答案

方法具有 async 的事实作为修饰符是方法的实现细节。这只是意味着您可以更轻松地编写异步代码。它根本不会改变方法的调用方式。

通常异步方法返回 TaskTask<T> .可以返回void ,但这通常仅用于事件处理程序,否则调用者无法判断该方法何时完成。在 C# 7 中,它还可以返回自定义任务类型。

现在调用者如何使用该返回值取决于他们。假设一个方法返回 Task<int> - 同步方法可能会调用该方法然后完全忽略返回的任务(“即发即忘”),或者使用 ContinueWith 附加延续,或将其传递给等待它的异步方法。这些都不会改变异步方法本身的行为方式。

关于.net - 在非异步方法中调用异步方法而不等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45943248/

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