2016-10-13 111 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個事件。 –