Rxjs在订阅中的代码结束后完成

问题描述 投票:0回答:1

我有一个Angular应用程序(9),并且具有多个组件,这些组件要求对其余部分进行计算操作,并在不同的编辑器中显示结果。现在,在发出请求之前,我会调用一个加载面板,并在完成请求之后将加载面板隐藏在finalize回调中。像这样的东西:

this.isloading = false;
httpclient.get('http://localhost/calculate').pipe(finalize(() =>this.isloading=false).subscribe(v=>{
 //make some operations with the data and set editor values
});

现在在设置所有编辑器值之前先加载面板分配器。如果请求完成,则直接调用finalize回调,但是如果订阅或错误中的代码完成,则如何调用类似finalize的东西?

angular observable rxjs6 rxjs-pipeable-operators rxjs-observables
1个回答
0
投票

subscribe块的末尾调用它吗?看起来您的finalize在需要的每个“位置”中都在使用(服务中未抽象),因此您最好将this.isLoading = false;用作subscribeerror的最后一条语句块

© www.soinside.com 2019 - 2024. All rights reserved.