据我所知,这两种创建自定义运算符的方法都可行,哪种更好,为什么?
可letlet 方法
logger(message) {
return (source) => {
return source.pipe(tap(res => console.log(message)))
}
}
使用管道功能
logger(message) {
return pipe(tap(res => console.log(message)))
}
答案 0 :(得分:1)
两种方法都是正确的,而且都是可点的。 “ lettable”一词仅在很短的时间内使用,RxJS核心开发人员将其更改为“ pipable”:https://github.com/ReactiveX/rxjs/blob/master/doc/lettable-operators.md
两个变体之间的唯一区别是,第一个变体为您提供了更多的自由,因为您可以访问source
,因此您可以自己订阅并返回另一个Observable。第二个变体只是您想多次重用的一连串运算符的快捷方式,因此您不必复制和粘贴它。