考虑 ASP.Net Core 视图文件中以下两行代码:
@Component.InvokeAsync("Greeting").Result
@await Component.InvokeAsync("Greeting")
什么是区别?哪个更好,在哪种情况下使用?在我的代码中,它们都能给出相同的视觉效果;是否存在结果可能不同的情况?
考虑 ASP.Net Core 视图文件中以下两行代码:
@Component.InvokeAsync("Greeting").Result
@await Component.InvokeAsync("Greeting")
await
关键字时,您的服务可以处理更多的请求每秒。await
以防止线程阻塞。请阅读有关异步和等待的相关资料:https://learn.microsoft.com/en-us/dotnet/csharp/async
来自MSDN - await
关键字是实现魔术的关键。它将控制权交还给执行await的方法的调用者,最终允许UI响应或服务弹性。await
关键字将控制权交还给调用方,并将线程释放回线程池。调用.Result
会导致阻塞调用,可能会对您的UI造成问题。如果您调用的是异步函数,应该await
它,以允许您的应用程序在不被阻塞的情况下继续运行。