Angulaire 2: Impossible de lire la propriété 'se désabonner' undefined

Je suis en train de créer un ObservableTimer que les tiques jusqu'à un certain nombre. J'ai déjà une logique de le faire, mais lorsque j'essaie de vous désabonner de ce que je reçois un "Cannot read property 'unsubscribe' of undefined" d'erreurs.
Voici mon code

syncExpireTime() {
    let route = AppSettings.API_ENDPOINT + 'Account/ExpireTime'
    this.http.get(route, this.options).map(this.extractData).catch(this.handleError).subscribe(
        res => {this.expireTime = +res},
        error => console.log(error),
        () => this.timerSub = TimerObservable.create(0,1000)
            .takeWhile(x => x <= this.expireTime)
            .subscribe(x => x == this.expireTime ? this.logout() : console.log(x))
    )
}

Et puis ici, c'est ma déconnexion code. Je suis en train de vous désabonner à partir de l'expiration de la minuterie lorsque je me déconnecte,

logout() {
    this.timerSub.unsubscribe()
    this.router.navigate(['./login'])
}
  • Êtes-vous sûr que le code permet d'affecter des timerSub est en cours d'exécution?
  • Ainsi, l'observable est à vous désabonner à partir de lui-même?
  • Oui. Les valeurs sont enregistrées sur ma console, donc l'expression au sein de la fonction subscribe est en cours d'exécution. Je ne pense pas que les observables en vous désinscrivant de lui-même.