我正在以这种方式与Observables进行间隔调用:
makeIntervalCall(){
this.subscription = Observable
.interval(3000)
.do( dispatch to service* )
.subscribe()
if (status.something coming from ngrx store) {
this.subscription.unsubscribe();
console.log('interval killed')
}
}
这可行,我的轮询停止但我现在要求为其他调用重用相同的Observable序列。再次,这工作正常但我看到Observable不断重复自己。我已经在取消订阅上放置了一个控制台日志,而不是每次复制时调用自己。要清楚......通过调用序列的第10次使用它会被记录10次,因为当我打电话取消订阅并在我再次调用它时创建一个新流时,我希望它会自行销毁。为什么取消订阅不起作用?是否有一种替代方案可以摧毁可观察物,并且每当我称它为新鲜时就开始新鲜。
答案 0 :(得分:1)
好的,我只知道我做错了什么......我在订阅中使用ngrx / store ..我有一个外环,这是我的this.store.select语句,它提供了取消订阅的机制。问题是我没有存储该订阅本身并在内部取消订阅:(