Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何像RxJava1那样在RxJava2中使用Subject(AsyncSubject、BehaviorSubject…)?_Android_Rx Java2_Behaviorsubject - Fatal编程技术网

Android 如何像RxJava1那样在RxJava2中使用Subject(AsyncSubject、BehaviorSubject…)?

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中

在Rxjava1中,我们可以订阅如下可观察对象:

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令人惊叹的。你能把它贴出来作为答复吗?