Как отписаться от my nifty TimerObservable в rxjs

Я продолжаю получать ошибку, что отмена подписки не является функцией. Я использую rxjs@5.0.0-beta.12.

Это мои операторы импорта:

import { TimerObservable } from 'rxjs/observable/TimerObservable';
import 'rxjs/add/operator/take';

Это TimerObservable в вопросе:

countdown = TimerObservable.create(0, 1000).take(6);

Это запускает таймер:

startCountdownTimer(): void {
    this.countdown.subscribe(
        i => this.timeRemaining = (5 - i).toString(),
        null,
        () => this.toDelete = -1)
}

Это, ну, это не работает:

cancelCountdownTimer(): void {
    this.countdown.unsubscribe();
}

1 ответ

  1. Абоненты subscribeполучают подписку:

    startCountdownTimer(): void {
        this.subscription = this.countdown.subscribe(
            i => this.timeRemaining = (5 - i).toString(),
            null,
            () => this.toDelete = -1);
    }
    

    который имеет unsubscribeметод:

    cancelCountdownTimer(): void {
        this.subscription.unsubscribe();
    }