2016-12-28 12 views
1

リトライオブザーバーのプロパティを3回試行してエラーをスローします。しかし、次のコードを実行すると、「再試行は関数ではありません」と表示されます。何が起こっているのでしょうか?RXJS observerが関数を再試行しない

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; 
    } 

完全なエラー・スタック:http://pastebin.com/ScrzsNh0

+1

可能な重複してretry演算子はをインポートしていることを確認します。 mapは\ [null \]内の関数ではありません。(http://stackoverflow.com/questions/34515173/angular-2-http-get-with-typescript-error-http-get-map-is-not-aファンクションイン) – olsn

答えて

1

あなたはtypescriptですエラーhttp.get(...)と[角度2 HTTP GETのimport "rxjs/add/operator/retry";

関連する問題