J'ai mis à niveau mon application angulaire de la version 5 à la version 6 et j'obtiens cette erreur du code suivant.
const request = this.evidenceService.get().map((res) => res.data)
.catch(error => Observable.of(null));
La propriété 'map' n'existe pas sur le type 'Observable'.
Le chaînage des opérateurs a été remplacé par l'utilisation de .pipe () dans RXJS v6. Vous devez suivre le chemin de migration recommandé pour RXJS . De plus, l'opérateur catch a été renommé en catchError.
Voici comment cela devrait être fait maintenant:
const request = this.evidenceService.get().pipe(
map((res) => res.data)),
catchError(error => Observable.of(null))
);
selon https://www.academind.com/learn/javascript/rxjs-6-what-changed/
dans le passé
import 'rxjs/add/operator/map'
myObservable
.map(data => data * 2)
.subscribe(...);
à présent
import { map } from 'rxjs/operators';
myObservable
.pipe(map(data => data * 2))
.subscribe(...);
Cela a résolu mon problème Voici le code:
import { map } from "rxjs/operators";
********************************************* Exemple ** ci-dessous ***************************************
getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}
Utilisation
.pipe(map((res) => res.data))
au lieu de
.map((res) => res.data)