javascript - 在 RXJS 中创建自定义可管道操作符

标签 javascript rxjs

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

可出租方法

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/

相关文章:

angular - RxJS Observable with Subject,通过计时器轮询和 combineLatest 不会触发

javascript - 延迟加载模块的 Angular onSameUrlNavigation

javascript - JavaScript 变量位于何处?

java - 将 json 从 servlet 传递到 dojo

javascript - 访问对象中的函数,嵌套在另一个函数中

angular - 无法读取未定义的属性 'unsubscribe'(rxJS - 订阅)

javascript - RxJS Observable forkJoin 不并行执行

javascript - 将可观察量组合成可观察量数组

javascript - Laravel Jquery Ui Ajax 发布到 Controller 并为 Blade 获取值(value)

javascript - 如何使用 Angular ngresource 为多个项目形成 DELETE REST URL