Поведение паразитного субъекта?

Возможно ли иметь вид BehaviorSubject с переключателями паузы и возобновления? Что-то вроде PausableBehaviorSubject.pause() а также PausableBehaviorSubject.resume()? Как это могло быть сделано?

Идея состоит в том, что, когда пауза, субъект не будет пересылать события, полученные через PausableBehaviorSubject.onNext(), но вместо этого храните только последний. После возобновления (или после подписки, если не приостановлено), PausableBehaviorSubject перенаправит сохраненное последнее событие (если оно есть) и перенаправит последующие события своему подписчику (подписчикам).

1 ответ

Есть оператор, который позволяет вам это сделать. Это называется pausableBuffered, Вы можете увидеть анимацию по адресу: RxMarbles.

Ваш наблюдатель или субъект просто упакуют исходную наблюдаемую, добавят новую логическую наблюдаемую и переключат переключатель, предоставив значение true или false для вашей новой наблюдаемой.

Другие вопросы по тегам