2016-10-13 37 views
5

任何人都可以点亮我如何立即取消订阅rxjs可观察订阅吗?可观察的来自Angular 2 EventEmitter。当我收到活动时,我想取消订阅。这里的问题是取消订购内的功能块。我有一种感觉,这是错误的做法:立即取消订阅rxjs observable

this.subscription = observable.subscribe((result: any) => { 
        // do something 
        // **unsubscribe** 
       }); 

感谢

+0

可能的重复[如何取消订阅Angular 2中的EventEmitter?](http://stackoverflow.com/questions/36494509/how-to-unsubscribe-from-eventemitter-in-angular-2) – jmachnik

+0

take(1 )似乎是比第一个更好的选项() https://stackoverflow.com/questions/42345969/angular-2-using-rxjs-take1-vs-first –

回答

13
observable.first().subscribe(....)` 

第一个事件之后将结束订阅。

+1

这是我正在寻找的方法。谢谢 – user1145347

+0

还有其他类似的操作符,如'.take(1)'或'.skip(5).take(1)'只能获得第6个事件。 –