Вы должны будете добавить .pipe
и затем использовать любой из ваших операторов внутри него начиная с Rxjs 6.
Измените свою реализацию следующим образом:
import { throwError , Observable, timer } from 'rxjs';
import { Injectable } from '@angular/core';
import { environment } from "environments/environment";
import { AppService } from 'app/app.service';
import { HttpClient } from '@angular/common/http';
import {
timeout,
retryWhen,
take,
concat,
share,
delayWhen
} from 'rxjs/operators';
@Injectable()
export class HttpService {
private baseUrl = environment.apiUrl;
constructor(
private http: HttpClient,
private appService: AppService
) {}
public get(endpoint: string): Observable < any > {
return this.http.get(this.baseUrl + endpoint)
.pipe(
timeout(2500),
retryWhen(errors =>
errors.pipe(
delayWhen(val => timer(val * 1000))
)
),
take(2),
concat(throwError('This is an error!')),
share()
);
}
}
PS: Я позволил себе сменить ваши ссылки AppService.
на мою собственную реализацию, так как вы не поделились своим AppService
кодом.