Blazor Web Assembly - .GetAwaiter().GetResult() not supported

1.简单介绍

Blazor Web Assembly 和 Blazor Server是Blazor支持的两种类型的渲染模式, .NET8又引入了Auto模式。还有一种是SSR(Static Side Rendering)。

2.Error描述

当我们以Blazor Web App模板创建一个Blazor Web Assembly的web应用程序时,

当你在BlazorWASMGetAwaiterCheck.Client项目中使用如下的语句去获取Weather数据

forecasts = FetchWeatherData().GetAwaiter().GetResult();

则会报如下这个错误,

        

Blazor WASM_System.PlatformNotSupportedException: Cannot wait on monitors on this runtime

因为Blazor Web Assembly本身不支持 GetAwaiter().GetResult(),所以报了这个错误

3.替代方式

建议可以直接使用异步方法,不要使用GetAwaiter().GetResult()这种同步方法,如下图

4.总结

以上简单说明了一下 Blazor Web Assembly类型的项目中不支持GetAwaiter().GetResult()以及用异步的方法去替代的方式。如果本文哪里有错误的地方,麻烦告之,谢谢谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值