Угловое обновление от 5 до 6: свойство 'map' не существует для типа Observable - PullRequest
0 голосов
/ 06 мая 2018

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

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

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

Ответы [ 4 ]

0 голосов
/ 20 ноября 2018

Используйте

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

вместо

.map((res) => res.data)
0 голосов
/ 09 июня 2018

в соответствии с https://www.academind.com/learn/javascript/rxjs-6-what-changed/

в прошлом

import 'rxjs/add/operator/map'

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

сейчас

import { map } from 'rxjs/operators';

myObservable
  .pipe(map(data => data * 2))
  .subscribe(...);
0 голосов
/ 23 августа 2018

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

import { map } from "rxjs/operators";

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

getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}
0 голосов
/ 06 мая 2018

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

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

const request = this.evidenceService.get().pipe(
    map((res) => res.data)),
    catchError(error => Observable.of(null))
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...