如果我只使用一个运算符,我应该使用管道运算符吗?

Should I use the pipe operator if I only use one operator?

RxJs 5.5 版引入了管道运算符,以便更轻松地组合 RxJs 运算符,并使 tree shaking 在这些情况下更有效.我的问题是,如果您只打算使用一个运算符,是否应该使用管道运算符?

考虑以下示例:

someObservable.map(mappingLogicMethod).subscribe(x => console.log(x));

someObservable.pipe(map(mappingLogicMethod)).subscribe(x => console.log(x));

在这种情况下,您只使用一个操作员,最合适的方法是什么?

简短的回答是 “你可以跳过管道,但你不应该” 因为 pipe 运算符在 6.0 版之前不是强制性的,如martin 在评论中(所以版本 < 6 不是必须的),如果你包含 rxjs-compact 你可以使用链接运算符的旧方法(所以 你可以实际上在任何地方都使用旧方法直到最新的6.版本)。

让我们深入探讨一下:“为什么 不应该使用它

从 5.5 版开始,管道运算符就可以使用(但不是强制性的)并且通常是首选,因为(当时)我们都知道在 下一个版本 所有 operators 将被 包裹在 pipe 中,所以你可以考虑那个时期 5.5<= 6 喜欢迁移window,到新的方式。

虽然我们现在的版本是 6+ 并且 pipe 的使用是默认行为,但 rxjs 仍然 支持旧的链接(没有 pipe ) 只要您还安装 rxjs-compat.

所以答案是:如果你正在使用 rxjs 5.5+,并且你想利用 tree shaking 并根据新标准编写可读代码(如 cartant 在评论中提到的那样)?

“您必须始终使用管道”