如何取消订阅 RxJS 5 可观察对象?
How to unsubscribe from an RxJS 5 observable?
我一直在使用这个模式:
func myObservable() Observable<boolean> {
...
}
func myFunc() {
myObservable().subscribe((cond: boolean) => {
if (cond) {
// How do I unsubscribe here?
}
});
}
但是我看不到任何取消订阅的方法,因此可能会造成内存泄漏。
我问的原因是因为 Angular 2's HTTP client 使用相同的模式 - 虽然我相信它会以某种方式自动取消订阅,我也想这样做。
你应该这样做:
func myFunc() {
var subscription = myObservable().subscribe((cond: boolean) => {
if (cond) {
// How do I unsubscribe here?
subscription.unsubscribe()
}
});
}
我一直在使用这个模式:
func myObservable() Observable<boolean> {
...
}
func myFunc() {
myObservable().subscribe((cond: boolean) => {
if (cond) {
// How do I unsubscribe here?
}
});
}
但是我看不到任何取消订阅的方法,因此可能会造成内存泄漏。
我问的原因是因为 Angular 2's HTTP client 使用相同的模式 - 虽然我相信它会以某种方式自动取消订阅,我也想这样做。
你应该这样做:
func myFunc() {
var subscription = myObservable().subscribe((cond: boolean) => {
if (cond) {
// How do I unsubscribe here?
subscription.unsubscribe()
}
});
}