在RXJS中创建自定义可点运算符

时间:2019-02-28 04:44:48

标签: javascript rxjs

据我所知,这两种创建自定义运算符的方法都可行,哪种更好,为什么?

可letlet 方法

logger(message) {
    return (source) => {
        return source.pipe(tap(res => console.log(message)))
    }
}

使用管道功能

logger(message) {
    return pipe(tap(res => console.log(message)))
}

1 个答案:

答案 0 :(得分:1)

两种方法都是正确的,而且都是可点的。 “ lettable”一词仅在很短的时间内使用,RxJS核心开发人员将其更改为“ pipable”:https://github.com/ReactiveX/rxjs/blob/master/doc/lettable-operators.md

两个变体之间的唯一区别是,第一个变体为您提供了更多的自由,因为您可以访问source,因此您可以自己订阅并返回另一个Observable。第二个变体只是您想多次重用的一连串运算符的快捷方式,因此您不必复制和粘贴它。