Угловое 5-6 Обновление: свойство 'map' не существует по типу Observable

Ive обновил мое угловое приложение с версии 5 до 6 и получил эту ошибку из следующего кода.

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

Свойство 'map' не существует в типе 'Observable'.

Ответы

Ответ 1

Цепочка операторов была переведена на использование.pipe() в RXJS v6, вы должны следовать рекомендованному пути миграции для RXJS. Кроме того, оператор catch был переименован в catchError.

Вот как это должно быть сделано сейчас:

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

Ответ 3

Это решило мою проблему вот код:

import { map } from "rxjs/operators";

********************************************** Пример ** Ниже **************************************

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

Ответ 4

использование

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

вместо

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