У меня есть форма, которая состоит из блоков, которые извлекаются при вызовах API.
Мне нужно обрабатывать каждый вызов в соответствии с этим конкретным вызовом (я создаю часть formGroup на основе этого вызова).
Я хочу иметь какую-то глобальную наблюдаемую / статусную информацию, которая будет завершена, когда все вызовы будут выполнены и обработаны.
Теперь я делаю это путем создания счетчика BehaviorSubject и включениякаждый запрос я увеличиваю это.Когда этот счетчик достигает некоторого значения, я изменяю loading
на false
и затем показываю форму.Есть ли лучший способ?
Похоже,
o1.subscribe(() => {... this.counter.next(this.counter.value + 1) });
o2.subscribe(() => {... this.counter.next(this.counter.value + 1) });
o3.subscribe(() => {... this.counter.next(this.counter.value + 1) });
.
this.counter.subscribe(val => if (val === 3) { this.loading = false; }
Я думал о создании of()
оболочки и использовании concat()
вокругих, но я не думаю, что это правильно.