据我所知,这两种创建自定义运算符的方法都有效,哪一种更好,为什么?
可出租方法
logger(message) {
return (source) => {
return source.pipe(tap(res => console.log(message)))
}
}
使用管道函数
logger(message) {
return pipe(tap(res => console.log(message)))
}
最佳答案
两种方法都是正确的并且都是可管道的。 “lettable”这个词只使用了很短的时间,并被 RxJS 核心开发人员更改为“pipable”:https://github.com/ReactiveX/rxjs/blob/master/doc/lettable-operators.md
这两个变体之间的唯一区别在于,第一个变体为您提供了更多的自由,因为您可以访问源代码
,因此您可以自己订阅它并返回不同的可观察到的。第二个变体只是您想要多次重复使用的一系列运算符的快捷方式,因此您不必复制和粘贴它。
关于javascript - 在 RXJS 中创建自定义可管道操作符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54918540/