- Automagically Unsubscribe in Angular 这个自定义装饰器来取消订阅
- 使用takeUntil 自动取消订阅
takeUntil 操作符
该 Observable 第一次发出值会使 takeUntil 的 输出 Observable 停止发出由源 Observable 所发出的值。
示例:
var interval = Rx.Observable.interval(1000);
var clicks = Rx.Observable.fromEvent(document, 'click');
// 用 ‘clicks’ Observable来通知 ‘interval’ Observable 停止发出值
// 当我们点击页面时,定时器就会停止
var results = interval.takeUntil(clicks);
// 这种写法等同于 results.subscribe( x => console.log(x))
results.subscribe(console.log)