Ну, во-первых, вы не возвращаете Наблюдаемое.Вы ничего не возвращаете (вы не добавили оператор возврата в свою функцию).
Кроме того, если вы добавите один, вы бы вернули подписку, потому что вы использовали subscribe
в своей функции.
Если вы хотите создать массив форм из вашей наблюдаемой, вот как:
users$ = this._store.select(usersSelectors.getUsers);
createForm(): void {
this.users$
.pipe(
filter(data => !!data),
map(users => this._formBuilder.array(users.map(() => new FormControl(false))))
)
.subscribe(usersFormArray => this.myForm = this._formBuilder.group({
users: usersFormArray
})
});
}
Вам не нужна другая функция, потому что эта функция делает все, что вы пожелаете.
Вы начинаете с фильтрации данных: это эквивалент условия.Если нет никаких данных, подписка не будет активирована.
Затем вы отображаете наблюдаемое значение, чтобы вернуть массив формы.
Наконец, вы подписываетесь и создаете форму с отображенным значением.