Как отписаться от наблюдаемой RxJS 5?
Я использовал этот шаблон:
func myObservable() Observable<boolean> {
...
}
func myFunc() {
myObservable().subscribe((cond: boolean) => {
if (cond) {
// How do I unsubscribe here?
}
});
}
Однако я не вижу способа отменить подписку, тем самым, возможно, создание утечки памяти.
Причина, по которой я спрашиваю, заключается в том, что HTTP-клиент Angular 2 использует тот же шаблон - хотя я считаю, что он как-то автоматически отписывается, и я хотел бы сделать то же самое.
1 ответ
Решение
Вы должны сделать что-то вроде этого:
func myFunc() {
var subscription = myObservable().subscribe((cond: boolean) => {
if (cond) {
// How do I unsubscribe here?
subscription.unsubscribe()
}
});
}