То, что вы описываете, похоже на то, для чего создан BehaviourSubject
. Он в основном дает вам все функциональные возможности ReplaySubject(1)
и, кроме того, запоминает последнее выданное значение, к которому можно обратиться с помощью метода getValue()
.
Единственное важное отличие состоит в том, что вам придется инициировать егос осмысленным значением, если только вы не хотите, чтобы null
было его начальным значением.
Что-то вроде
private currentResultsQueryPathSubject: BehaviourSubject<string> =
new BehaviourSubject<string>(null);
может быть тем, что вы ищете.