2
是否有可能有一种BehaviorSubject
暂停和恢复开关?像PausableBehaviorSubject.pause()
和PausableBehaviorSubject.resume()
?这怎么可能完成?可运行的行为主题?
这个想法是,暂停时,主题不会转发通过PausableBehaviorSubject.onNext()
收到的事件,而是只存储最后一个。在恢复时(或者在订购时,如果不暂停),PausableBehaviorSubject
将转发存储的最后事件(如果有的话)并将后续事件转发给其订户。
像这样:'subject.filter(i - >!isPaused).replay(1).autoconnect()'? (未测试..) – dwursteisen
你不能只是'订阅'和'取消订阅'而不是'恢复'和'暂停'? –
@SamuelGruetter问题是,你会让观察者控制何时得到更新,什么时候没有。有了一个可观察的可观察的事物,这可以被封装,因此暂停/恢复将停留在观察者不能接触的地方。 –