RxJS - объединить и объединить две наблюдаемые - PullRequest
0 голосов
/ 10 января 2019

У меня есть две наблюдаемые

public readonly availableTags$ = this.tagSandbox.observeTags()
public readonly jobs$ = this.jobSandbox.observeJobsAfterFiltering()

, который я использую в качестве Input значений для углового компонента с async трубой.

Я хотел бы преобразовать эти два наблюдаемых в один и "объединить" их значения в одном объекте.

{
   availableTags: Tag[],
   jobs: Job[]
}

Однако значение из jobs$ должно быть выбрано только после того, как availableTags$ передало его значение. Это возможно?

Все это для того, чтобы избежать двойной перезагрузки свойств ввода.

1 Ответ

0 голосов
/ 10 января 2019

Вы можете использовать cocatMap для этого (mergeMap также будет работать), а затем отобразить ответ от второго вызова вместе с результатом первого вызова в один объект:

availableTags$.pipe(
  concatMap(availableTags => jobs$.pipe(
    map(jobs => ({ availableTags, jobs })),
  ))
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...