Val*_*sen 7 observable typescript angular
我使用一个可观察的间隔在某个组件中每五秒执行一个特定的功能,与我的路由配置中的路径相关.
Observable.interval(5000).subscribe(res => {
// Something happens here
});
Run Code Online (Sandbox Code Playgroud)
但是我希望在路径更改时终止间隔.现在它继续执行任务......
做这个的最好方式是什么?
在这种情况下,您可以取消订阅订阅(订阅方法的返回对象):
var subscription = Observable.interval(5000).subscribe(res => {
// Something happens here
});
// to be called when the route changes
subscription.unsubscribe();
Run Code Online (Sandbox Code Playgroud)
因为可观察的是冷的并且没有更多的订阅,所以可观察的将被处置......
您可以利用组件中的"routerOnDesactivate"挂钩方法取消订阅.当您将路由组件留在路由上下文中时,它会让您知道.
有关详细信息,请参阅此链接:
| 归档时间: |
|
| 查看次数: |
4533 次 |
| 最近记录: |