По какой причине не срабатывает combineLatest?

Есть два observable, скомбинированных в массив. Однако, когда приходит момент обновиться, обновление не вызывается. Просто не срабатывает обновление.

ngOnInit() {
    if (this.contentViews$) {
      const sources = [this.contentViews$, this.pluginContainerReducer.selectRightData().pipe(
   switchMap((value) => of(value)))];
      this.tabs$ = combineLatest(sources).pipe( //здесь ошибка?
        switchMap(([views, test]: [ContentView[], DataItem[]]) => of(
          views.map(view => ({
            id: this.getTabId(view),
            title: 'test',
            contentView: view,
            refreshButton: {iconName: 'redo-alt'},
            titleTpl: this.btn,
          } as ContentTabConfig),
          ),
        )),
      );
    }
  }

Ответы (1 шт):

Автор решения: JerryLee

combineLatest объединяет данные пришедшие из Observable-ов полученные из аргументов функции.

Если один из Observable-ов завершится так и не эмитнув ни одного значения combineLatest завершится. Так же если один из переданных Observable-ов не эмитнул никаких значений и не завершился, то combineLatest никогда не эмитнит значения и не завершится.

Вывод: надо смотреть, что происходит с каждый вашим Observable-ом

→ Ссылка