如果我只使用一个运算符,我应该使用管道运算符吗?
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 在评论中提到的那样)?
“您必须始终使用管道”。
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 在评论中提到的那样)?