我正在尝试创建具有以下特征的Observable
:
具有BehaviorSubject
/ doOnSubscribe
的{{1}}满足#1和#2,但对每个订户(而不是第一个和最后一个)运行订阅/处置。添加doOnDispose
可以满足#1和#3的要求,但只会将最后发出的项目发送给第一个并发订户。
我想出了一个似乎可行的解决方案,但感觉就像一个丑陋的骇客:
share
是否存在可以达到相同效果的运算符或运算符组合?
答案 0 :(得分:1)
使用replay
运算符和参数1,即
yourObservable.replay(1)
编辑:您是对的,重放将返回一个connectedObservable,而refcount
运算符将使其表现得像在Observable上一样,即
yourObservable.replay(1).refcount()