Как я могу предоставить последнее значение hot observable on subscribe
у меня есть горячий наблюдаемый (из события), который я вызываю DistinctUntilChanged
на котором будет несколько подписчиков, которые будут подписываться в разное время после того, как observable начал работать и произвел свое первое значение. Подписчики получат получение IObservable
через свойство в моем классе.
как сделать так, чтобы каждый раз, когда кто-то подписывается на наблюдаемое, они получают последнее опубликованное значение, но наблюдаемые действия обычно иначе? Кажется, я ищу ... PublishLast
но я не уверен, что у него есть другие побочные эффекты.
аналогичный вопрос: как получить IObservable, чтобы нажать новейшее значение при подписке? Это очень похожий вопрос, но это более года назад, и в Rx было сделано много дополнений, поэтому я думаю, что теперь может быть встроенная функция, а не полагаться на BehaviorSubject
поэтому я не думаю, что это точная копия.
Edit: здесь is то, что я на самом деле пытаюсь сделать. Ниже фактической наблюдаемой последовательности, о которой я говорю, есть комментарий.
1 ответов
другой ответ был близок. Вы либо хотите ReplaySubject (1) ie только replay 1 значение; или вы хотите BehaviorSubject. Разница в том, что субъекту поведения потребуется значение по умолчанию. Это также гарантирует, что абонент всегда будет получать значение немедленно.
var replay1 = source.Replay(1);
replay1.Connect();
//Or
var alwaysHaveValue = source.Multicast(new BehaviorSubject<int>(-1));
чтобы понять каждый из предметов, проверьте мой введение в Rx в должности