【发布时间】:2019-04-26 04:46:21
【问题描述】:
RxJS v4 曾经有一个采用传感器的Observable.transduce 方法。这允许使用独立于库的传感器操作符,这在过去具有重大的性能优势。
来源
- https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/transduce.md
- https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/transducers.md
- https://medium.com/front-end-hacking/rxjs-transducers-vs-method-chaining-performance-87561cf4ce65
- https://github.com/ReactiveX/rxjs/pull/1323
RxJS v5.5 和 v6 具有可管道操作符,并且 v6 删除了方法链。因此,我假设 RxJS 操作符是标准转换器。翻看源代码,好像不是这样的。
RxJS v6 运算符的功能类似于一个转换器,其中每个值在下一个值通过之前完全通过链传递,但是 RxJS v6 运算符没有使用我在其他库中看到的标准转换器方法,意思是,我不'不认为它们是便携式的。
关于传感器的全部内容是它们对集合本身一无所知。您可以编写 100 个普遍适用于任何集合或流类型的运算符,而不是专门为 observable 编写 100 个运算符。
.pipe 是否与 .transduce 一致,还是在 RxJS v5 中完全删除了此方法?
【问题讨论】:
标签: rxjs method-chaining pipelining transducer