У меня проблема с настройкой метода getProducts () для http-запроса в Angular. Я установил наблюдаемое так, чтобы оно соответствовало моему интерфейсу "Наблюдаемый", чтобы получать и возвращать продукты в файле JSON из productUrl. Но я получаю сообщение об ошибке: «Типу« OperatorFunction »не хватает следующих свойств из типа« Наблюдаемый »: _isScalar, source, operator, lift и еще 6».
Это мой product.service.ts
export class ProductService {
public productUrl = "/api/products/roducts.json"
constructor(private http: HttpClient) { }
getProducts(): Observable<IProduct[]> {
return this.http.get<IProduct[]>(this.productUrl)
.pipe(
tap(data => console.log("All: " + JSON.stringify(data)))),
catchError(this.handleError)
}
private handleError(err: HttpErrorResponse){
let errorMessage = "";
if(err.error instanceof ErrorEvent){
errorMessage = "An error occured " +err.error.message;
}
else{
errorMessage = "Server returned core " + err.status +" error message is " + err.message
}
console.error(errorMessage)
return throwError(errorMessage)
}
}
и это produst-list.component, который вызывает метод onInit
errorMessage: string;
products: IProduct[] = [];
ngOnInit() {
this.productService.getProducts().subscribe({
next: products => this.products = products,
error: err => this.errorMessage = err
});