Когда вы используете RxJS, вы используете асинхронное программирование.Это похоже на использование обещаний.
Для простоты, вот фрагмент, который создает наблюдаемую, а затем излучает через секунду.
const obs = rxjs.of('Async').pipe(
rxjs.operators.delay(1000)
);
let val = '(empty)';
obs.subscribe(value =>{
val = value;
console.log('Inside of subscribe, val = ', val);
});
console.log('Outside of subscribe, val = ', val);
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.5.2/rxjs.umd.js"></script>
Как видите, он работает только в обратном вызове подписки .Опять же, чтобы упростить и решить вашу проблему, учтите, что только те обратные вызовы актуальны, когда вам нужны ваши данные.
Я призываю вас прочитать документацию , если вы хотите работать с Angular (и неявно RxJS), потому что без его понимания вам будет очень трудно использовать каркас!