角度7中的管道和贴图之间的确切区别是什么?

时间:2019-01-10 05:54:16

标签: javascript angular typescript rxjs

我对此进行了很多搜索,但是我无法找到角度7的pipemap之间的区别?是否有必要在角度7的Service.ts文件中使用管道?

谢谢

3 个答案:

答案 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)
);