Android 如何像RxJava1那样在RxJava2中使用Subject(AsyncSubject、BehaviorSubject…)?
在Rxjava1中,我们可以订阅如下可观察对象:Android 如何像RxJava1那样在RxJava2中使用Subject(AsyncSubject、BehaviorSubject…)?,android,rx-java2,behaviorsubject,Android,Rx Java2,Behaviorsubject,在Rxjava1中,我们可以订阅如下可观察对象: val asyncSubject = AsyncSubject<T>.create() Observable<T>.subscribe(asyncSubject); asyncSubject.subscribe(...) val asyncSubject=asyncSubject.create() 可观察。订阅(主题); asyncSubject.subscribe(…) 不知道如何在Rxjava2 Flowable中
val asyncSubject = AsyncSubject<T>.create()
Observable<T>.subscribe(asyncSubject);
asyncSubject.subscribe(...)
val asyncSubject=asyncSubject.create()
可观察。订阅(主题);
asyncSubject.subscribe(…)
不知道如何在Rxjava2 Flowable中实现同样的功能
我在想这样的事情
Flowable<T>
.doOnComplete { t -> asyncSubject.OnComplete() }
.subscribe { t -> asyncSubject.onNext(t) }
可流动
.doOnComplete{t->asyncSubject.OnComplete()}
.subscribe{t->asyncSubject.onNext(t)}
有更好/更简洁的方法吗?RxJava2将事物分为
可流动的和可观察的。当需要背压时,使用可流动性
由于这一突破,我们有两种不同类型的主题
对象,您的常规旧行为主题
等,它们与可观察的
一起工作,还有一组称为处理器
的新类,如行为处理器
等
这些类的工作方式基本上与主题相同,但是可以使用可流动性
而不是可观察性
在您的情况下,您可能希望使用处理器
,而不是主题:
val proc = AsyncProcessor.create<Int>()
val flowable = Flowable.just(1)
flowable.subscribe(proc)
val proc=AsyncProcessor.create()
val可流动=可流动。仅(1)
可流动。订阅(proc)
RxJava2将事物分为可流动的
和可观察的
。当需要背压时,使用可流动性
由于这一突破,我们有两种不同类型的主题
对象,您的常规旧行为主题
等,它们与可观察的
一起工作,还有一组称为处理器
的新类,如行为处理器
等
这些类的工作方式基本上与主题相同,但是可以使用可流动性
而不是可观察性
在您的情况下,您可能希望使用处理器
,而不是主题:
val proc = AsyncProcessor.create<Int>()
val flowable = Flowable.just(1)
flowable.subscribe(proc)
val proc=AsyncProcessor.create()
val可流动=可流动。仅(1)
可流动。订阅(proc)
您的第一个示例应该可以正常工作。。。出现错误了吗?@AlexHart是的,它在RxJava1中工作得很好,但我不能在Rxjava2中为Flowable做这件事。啊,对于flowables,你会使用处理器。像一个BehaviorProcessor@AlexHart令人惊叹的。你能把它作为一个答案吗?你的第一个例子应该很好。。。出现错误了吗?@AlexHart是的,它在RxJava1中工作得很好,但我不能在Rxjava2中为Flowable做这件事。啊,对于flowables,你会使用处理器。像一个BehaviorProcessor@AlexHart令人惊叹的。你能把它贴出来作为答复吗?