reactive-programming - 订阅时评估startwith的参数

标签 reactive-programming rx-java

observableEmitingItemsRegularly
.map(this::cacheLastItem) //set the object in lastItem variable
.startWith(lastItem);

始终在开头返回相同的对象:解释该行时解释的值。

我已经尝试过:

改变

.startWith(lastItem);

.startWith(getLastItem());

函数 getLastItem() 是在我们初始化 observable 时调用的,而不是在我们按照我想要的方式订阅时调用的。

非常感谢!

最佳答案

您是否尝试过使用Defer

来自文档:

Defer do not create the Observable until the observer subscribes, and create a fresh Observable for each observer

.startWith(Observable.defer(() -> Observable.from(getLastItem()));

关于reactive-programming - 订阅时评估startwith的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615567/

相关文章:

haskell - 既是递归的,又依赖于其他行为的行为

.net - Rx 与响应式编程有什么关系?

java - Flux.repeat() 不重复

typescript - 如何从angular2中的observable中获取数据

java - 从 RxJava 开始,循环

rx-java - Observable 相对于 Flowable 的实际优势是什么?

java - 单个RxJava如何提取对象

android - Rxjava - 逻辑隔离

javascript - 在 golang 中实现响应式模板

reactive-programming - RxJava 缓存中间结果