2016-12-28 1 views
1

Ich möchte die Retry Eigenschaft des Beobachters versuchen, 3 mal, bevor es aufgibt und einen Fehler gibt. Wenn ich jedoch den folgenden Code ausführe, bekomme ich "Wiederholung ist keine Funktion". Irgendwelche Ideen was ist los?RXJS Observer Retry keine Funktion

get(url: string, options?: RequestOptionsArgs): Observable<Response> { 
    this._log.debug('SecureHttpService#get: ' + url); 

    let resultObservable = Observable.create((observer) => { 
     this._log.debug('resultObservable'); 
     this.tryReActivateToken().then(
     (result) => { 
      this._log.debug('resultObservable#then#result: ' + result); 
      if (result === true) { 
      let headers = new Headers(); 
      headers.append('Authorization', 'Bearer ' + this.access_token); 
      headers.append('X-Requested-With', 'XMLHttpRequest'); 
      // headers.append('Accept', 'json'); 

      this._log.debug(this.access_token); 
      let superGetObs = super.get(url, { headers: headers, withCredentials: true }).retry(3); 

      superGetObs.subscribe(
       (next) => { observer.onNext(next); }, 
       (error) => { observer.onError(error); }, 
      () => { observer.onCompleted(); } 
      ); 
      } else { 
      observer.onError(new Error('Could not log you in automatically')); 
      } 
     }, (error) => { this._log.debug('resultObservable#then#error: ' + error); observer.onError(error); }); 
    }); 

    return resultObservable; 
    } 

Der vollständige Fehler-Stack: http://pastebin.com/ScrzsNh0

+1

Mögliche Duplikat [Angular 2 HTTP GET mit Typoskript Fehler http.get (...). map ist keine Funktion in \ [null \]] (http://stackoverflow.com/questions/34515173/angular-2-http-get-with-typescript-error-http-get-map-is-not-a -funktion-in) – olsn

Antwort

1

Stellen Sie sicher, importieren Sie die retry -Operator mit import "rxjs/add/operator/retry";