我需要做一些我觉得太棘手的事情。我正在尝试使用 takeUntil
取消订阅Subscription
并等待路由参数发出更改。
这是棘手的部分:我需要在路由参数subscribe
内设置takeUntil
。它应该是这样的:
ngOnInit(): void {
this.route.params.subscribe(params => {
this.autoMethodSubscription = interval(5000).pipe(takeUntil(this.route.params)).subscribe(() => { this.autoMethod(); });
});
}
autoMethodSubscription
不起作用,因为我认为它会取消订阅。有什么想法吗?
你可以skip
第一个。
interval(5000).pipe(
takeUntil(
this.route.params
.pipe(skip(1))
)).subscribe(() => //...
或者,您可以filter
route.params
更改,以指定将强制取消订阅的路由更改类型。
或者您可以使用最常见的模式,在销毁时取消订阅。
你的目标到底是什么?