【发布时间】:2022-01-08 16:50:49
【问题描述】:
一旦出现某种状态,我想取消订阅 Angular 服务中的 observable。取消订阅应该在订阅中执行。不幸的是,下面的代码不起作用。
@Injectable()
export class CartManagementUsecase {
private unsubscribe = new Subject();
public streamSession(): void {
this.adapter
.streamSession()
.pipe(takeUntil(this.unsubscribe))
.subscribe((session) => {
if(session.session_state === SessionState.CLOSED) {
this.unsubscribe.unsubscribe();
}
});
}
}
【问题讨论】:
-
问题是你为什么首先在服务方法中进行订阅?
-
this.unsubscribe.next()而不是this.unsubscribe.unsubscribe()
标签: javascript angular typescript rxjs