Я хотел бы использовать свойство retry наблюдателя, чтобы попытаться 3 раза, прежде чем он откажется и выдаст ошибку. Однако, когда я запускаю следующий код, я получаю «повтор не является функцией». Есть идеи, что происходит?
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
4
mp3por
28 Дек 2016 в 16:02
1
Возможный дубликат Angular 2 HTTP GET с ошибкой TypeScript http.get (...). Map не является функцией в [null]
– olsn
29 Дек 2016 в 16:28
1 ответ
Лучший ответ
Убедитесь, что вы импортируете оператор retry
- с import "rxjs/add/operator/retry";
8
olsn
29 Дек 2016 в 16:26
Похожие вопросы
Связанные вопросы
Новые вопросы
rxjs5
5-я версия реактивных расширений для javascript.