我对此进行了很多搜索,但是我无法找到角度7的pipe
和map
之间的区别?是否有必要在角度7的Service.ts文件中使用管道?
谢谢
答案 0 :(得分:2)
在rxjs 5.5及更高版本中,如果要在可观察对象上使用任何运算符,只需对它们进行管道处理即可。因此,map
只是pipe
中的那些运算符之一。
例如:
const example = source.pipe(map(val => val + 10), first());
对于早期版本的rxjs
,没有pipe
关键字,多个运算符使用.
表示法组合
例如:
const example = source.map(val => val + 10).first();
答案 1 :(得分:1)
为简短说明, RxJS 中的 pipe 用于截取结果并使用 RxJS 运算符对其进行修改,以便您订阅时您将获得与您在管道示例地图,点击等中设置的逻辑运算符相等的最终结果。
有关角度练习指南,请在此处检查 https://angular.io/guide/rx-library
您可以在此处查看操作员列表 https://www.learnrxjs.io/operators/
答案 2 :(得分:1)
map(),filter(),concat()和flatMap()是RxJS库提供的运算符。 您可以使用管道将这些运算符链接在一起。管道使您可以将多个功能组合为一个功能,如下所示:
import { filter, map } from 'rxjs/operators';
const squareOddVals = pipe(
filter((n: number) => n % 2 !== 0),
map(n => n * n)
);