【发布时间】:2018-07-15 19:40:35
【问题描述】:
我正在以这种方式使用 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 次,因为我希望它在我调用取消订阅时会自行销毁,并在我再次调用它时创建一个新流。为什么取消订阅不起作用?有没有一种替代方法可以在我每次调用它时销毁可观察对象并重新开始。
【问题讨论】:
标签: angular angular2-observables