我有一个组件,它显示一个加载栏,发出一个 http 请求,完成后隐藏加载栏。当发生异常时,即使我的代码包含在 try finally 块中,加载栏也不会隐藏。
try
{
IsLoading = true;
await httpService.InvokeAsync();
}
finally
{
IsLoading = false;
//StateHasChanged();
}
如果我取消注释StateHasChanged()
它会按预期工作。我知道我的异常未处理(并打印到控制台),但我正在尝试制作某种全局异常处理程序并希望避免使用 catch 块。
这是预期的行为吗?在没有异常的情况下,finally 块中的 StateHasChanged 调用是否存在任何性能问题?