Я хотел бы преобразовать приведенный ниже фрагмент кода:
this.dataUserSubscription = this.store$.pipe(select(selectUser)).subscribe(
user => {
this.store$.pipe(select(selectUserData, {user}), take(1))
.subscribe(userData => {
if (userData === null) {
this.store$.pipe(select(selectUserManagement, {user}), take(1)).subscribe(
userManagement => {
this.store$.dispatch(saveUserDataToStore({
user,
userManagement
}));
});
}
});
, чтобы избежать вложенной подписки. Все примеры, которые я нашел, приведены для двух подписок.
this.dataUserSubscription = this.store$.pipe(select(selectUser),
switchMap(user => this.store$.pipe(select(selectUserData, {user}))))
.subscription(userData => {
// logic
})
Но это не правильное решение для моего примера кода. Почему правильный шаг для исправления нескольких вложенных подписок?