Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度5到6升级:属性';地图';在类型Observable上不存在_Angular_Rxjs - Fatal编程技术网

Angular 角度5到6升级:属性';地图';在类型Observable上不存在

Angular 角度5到6升级:属性';地图';在类型Observable上不存在,angular,rxjs,Angular,Rxjs,我把angular应用程序从5版升级到6版,我从下面的代码中得到了这个错误 const request = this.evidenceService.get().map((res) => res.data) .catch(error => Observable.of(null)); 类型“Observable”上不存在属性“map” 在RXJS v6中,运算符链接已转换为使用.pipe(),您应该遵循以下步骤。此外,catch操作符已重命名为ca

我把angular应用程序从5版升级到6版,我从下面的代码中得到了这个错误

  const request = this.evidenceService.get().map((res) => res.data)
                .catch(error => Observable.of(null));
类型“Observable”上不存在属性“map”


在RXJS v6中,运算符链接已转换为使用.pipe(),您应该遵循以下步骤。此外,catch操作符已重命名为catchError

下面是现在应该怎么做:

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

过去

现在

代码如下:

import { map } from "rxjs/operators";
**********************************************下面的示例****************************************

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

而不是

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

您需要阅读以下内容:具体地说:您是对的,这实际上不是导入的问题,而是转换到管道的问题,rxjs compat不太可能有帮助。我会调整答案。这是一个救命稻草。如果你想使用全版本安装:
npm安装——保存rxjs compat
从“rxjs”导入{Observable,Subject};导入'rxjs/add/operator/map';导入“rxjs/add/operator/catch”
getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}
.pipe(map((res) => res.data))
.map((res) => res.data)