Итак, у меня проблема в том, что я получаю две разные службы, скажем, типа Observable и Observable. Они возвращаются службами и отлично работают при начальной загрузке, делая что-то вроде этого (в конструкторе компонента в Angular)
combineLatest([this.service.A(), this.service.B()])
).subscribe(([A, B]) => {
this.C = A.map(x => {
return {
id: x.id,
name: x.specificA
}; //Different type of C
}).concat(B.map(x => {
return {
id: x.id,
name: x.specificB
};
});
Итак, это работает, когда это делается в конструкторе, а представление загружается с моим «C» в этом примере, и мир прав. Однако я хотел бы время от времени вызывать обновление строк и go полный круг обратно в мою коллекцию, а затем обновлять. Я думал о выполнении combLatest, но без подписки, чтобы получить наблюдаемый компонент чего-то вроде C $: Observable. Затем заставьте этот объект выполнять всю работу по подпискам и дальнейшим обновлениям. Затем выполняю
this.C$ = ([this.service.A(), this.service.B()]).pipe(map( //this is wrong))
В основном я не хочу подписываться на наблюдаемое, но настраиваю его из других наблюдаемых, ТОГДА подписываюсь на это. Потенциально выполните комбо с rx js, чтобы взять два наблюдаемых типа и создать третий тип. Затем, когда происходит событие обновления, начните подписку на наблюдаемую 'C $'. Я знаю, что это, вероятно, простая операция, я просто не понимаю, что кто-то, кто хорош в rx js, мог бы сказать мне, как комбинировать.