【发布时间】:2026-02-12 22:20:05
【问题描述】:
我正在使用 Angular 服务来包装我的一些 http 调用,以管理我的应用程序的加载状态。
此服务存储调用的状态以供进一步处理。不幸的是,finalize 函数从未被调用过。
这是包装器:
searchWithLoader(obs: Observable<any>) {
this.show();
obs.pipe(finalize(() => {
console.log("FINALIZE NOT CALLED");
this.hide();
}));
return obs;
}
我通常这样称呼它:
let performanceLoader = this.loaderService.searchWithLoader(
this.performanceDataService.getSomething({
x: x,
y: y,
}));
performanceLoader.subscribe(() => {});
有没有办法解决这个问题,以便在服务而不是组件中调用 finalize?
【问题讨论】: