订阅时评估startwith的参数

Evaluate startwith's param when subscribing

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

Returns 开头总是相同的对象:解释该行时解释的值。

我已经试过了:

改变

.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()));