我很难找到如何使用RxJava 2创建自定义运算符的示例.我考虑过几种方法:
使用Observable.create
,然后flatMap
从源可观察到它.我可以让这个工作,但它感觉不对.我最终创建了一个静态函数,我提供了源代码Observable
,然后在源代码上提供了flatMap.在OnSubscribe中,然后我实例化一个传递发射器的对象,它处理和管理Observable/Emitter(因为它不是微不足道的,我希望所有内容尽可能封装).
创建ObservableOperator
并提供它Observable.lift
.我找不到RxJava 2的任何这样的例子.我必须调试我自己的例子,以确保我对上游和下游的理解是正确的.因为我找不到任何有关RxJava 2的示例或文档,我有点担心我可能会意外地做一些我不应该做的事情.
创建我自己的Observable
类型.这似乎是底层运营商的工作方式,其中许多都在扩展AbstractObservableWithUpstream
.虽然这里有很多事情,但似乎很容易错过一些东西或做一些我不应该做的事情.我不确定我是否应该采取这样的方法.我逐步完成了心理过程,看起来它可以很快变得毛茸茸.
我将继续使用选项#2,但认为有必要问一下在RxJava2中支持的方法是什么,并且还要查明是否有任何文档或示例.