it-swarm.com.de

Angular 5 bis 6 Upgrade: Die Eigenschaft 'map' ist beim Typ Observable nicht vorhanden

Ich habe meine Winkelanwendung von Version 5 auf 6 aktualisiert und bekomme diesen Fehler aus dem folgenden Code.

  const request = this.evidenceService.get().map((res) => res.data)
                .catch(error => Observable.of(null));

Die Eigenschaft 'map' ist beim Typ 'Observable' nicht vorhanden.

14
Kay

Die Operator-Verkettung wurde auf die Verwendung von .pipe () in RXJS v6 umgestellt. Sie sollten dem empfohlenen Migrationspfad für RXJS folgen. Darüber hinaus wurde der Operator catch in catchError umbenannt.

So sollte es jetzt gemacht werden:

const request = this.evidenceService.get().pipe(
    map((res) => res.data)),
    catchError(error => Observable.of(null))
  );
42
Jens Habegger

gemäß https://www.academind.com/learn/javascript/rxjs-6-what-changed/

in der Vergangenheit

import 'rxjs/add/operator/map'

myObservable
  .map(data => data * 2)
  .subscribe(...);

jetzt

import { map } from 'rxjs/operators';

myObservable
  .pipe(map(data => data * 2))
  .subscribe(...);
24
Dulanga Heshan

Das hat mein Problem gelöst Hier ist der Code:

import { map } from "rxjs/operators";

*********************************************** Beispiel ** unten ****************************************

getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}
5
Greko2015 GuFn

Benutzen

.pipe(map((res) => res.data))

anstatt 

.map((res) => res.data)
0
Pullat Junaid