我理解由于缺乏背压支持而使用Observable.create 在RxJava中不鼓励。因此,我已经开始使用新的Observable.fromAsync来包装回调API,因为它以与Observable.create相同的行为来处理背压。
然而,在这些文件草稿中,似乎有这样的建议:将我创建的可观察到的内容公开如下,应该可以解决这个问题:
Observable<T> observable = Observable.create(onSubscribe).onBackpressureBuffer();这是正确的吗?在这一点上,这两个操作符的区别是什么?如果这不正确,是否有理由在.fromAsync上使用.fromAsync
发布于 2016-07-29 07:19:32
create主要是为了支持RxJava的内部工作,以及那些知道如何实现操作符的人。它需要手动处理背压和取消订阅,因为不同的操作员需要不同的方法来处理它们。
fromEmitter明确了背压需求的,并提供了一些取消订阅管理。因此,很难滥用它。如果需要一些东西来包装一个经典的回调API,我们建议切换到它。
编辑:,从RxJava 1.2.6开始,方法名为fromEmitter。
https://stackoverflow.com/questions/38652377
复制相似问题