gpt4 book ai didi

java - 我如何创建订阅可观察对象的 BehaviorSubject?

转载 作者:搜寻专家 更新时间:2023-11-01 09:33:52 26 4
gpt4 key购买 nike

我有一个函数应该返回一个BehaviorSubject。该主题旨在返回 Profile

的最新版本

(user)Profile 只是一个包含对三个成员的引用的 POJO:
- 用户,
- 该用户的 MeasurementList,
- 和一个截止日期

其中两个属性是通过改造调用获得的,其中一个已经保存在类变量中。

每当 observable 发出一个新的measurement listdeadline 时,BehaviorSubject 应该发出一个新的更新的 Profile。

这是应该发生什么的(希望有用的)图表 enter image description here

这是我目前的情况

 public BehaviorSubject<Profile> observeProfile() {

if (profileBS == null) {

profileBS = BehaviorSubject.create();

Observable o = Observable.combineLatest(
Observable.just(userAccount),
observeMeasurements(),
observeDeadline(),
Profile::new
);


profileBS.subscribeTo(o); //subscribeTo does not exist, but this is what I am trying to figure out how to do.

}
return profileBS;
}

谁能帮我正确地创建这个 BehaviorSubject?

谢谢。

最佳答案

Subject 实现了 Observer 接口(interface),因此您可以执行以下操作

public BehaviorSubject<Profile> observeProfile() {

if (profileBS == null) {

profileBS = BehaviorSubject.create();

Observable o = Observable.combineLatest(
Observable.just(userAccount),
observeMeasurements(),
observeDeadline(),
Profile::new
);

// Note the following returns a subscription. If you want to prevent leaks you need some way of unsubscribing.
o.subscribe(profileBS);

}
return profileBS;
}

请注意,您应该想出一种方法来处理生成的订阅。

关于java - 我如何创建订阅可观察对象的 BehaviorSubject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44940553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com