angular 5, RxJs { map } 导入不起作用或者我遗漏了什么?

Vin*_*nce 3 rxjs5 angular angular5

我正在尝试映射 httpclient 的结果,我们需要使用 RxJs 的新导入来使 treeshaking 工作。

所以我找到了 2 张地图,但都没有用...

import { map } from 'rxjs/operator/map'; 
import { map } from 'rxjs/operators/map';
Run Code Online (Sandbox Code Playgroud)

我们需要删除的旧时尚方式

import 'rxjs/add/operator/map';
Run Code Online (Sandbox Code Playgroud)

这是我开始工作所需的代码!

  getValues(): Observable<Value[]> {   
    return this.http.get<Response<Values>>(this.url).map(reponse => {
      return reponse.data.values;
    });
  }
Run Code Online (Sandbox Code Playgroud)

但 .map 并不以可观察性而闻名,

Jet*_*eto 11

导入 RxJS 运算符的正确“现代”方法是:

import { map } from 'rxjs/operators';
Run Code Online (Sandbox Code Playgroud)

随着管道操作符的使用。

您的代码变为:

getValues(): Observable<Value[]> {   
  return this.http.get<Response<Values>>(this.url).pipe(
    map(reponse => reponse.data.values)
  );
}
Run Code Online (Sandbox Code Playgroud)