Наблюдаемый RSJX не возвращает данные - PullRequest
0 голосов
/ 27 января 2020

Следующий код при подписке возвращает ожидаемый массив объектов.

this.store.select (this.selectors.evidenceSelector);

Объекты включают поле subjectId. Этот код, основанный на нескольких примерах в Интернете, ничего не возвращает при подписке на:

this.store
      .select (this.selectors.evidenceSelector)
      .pipe (
        groupBy (ev => ev['subjectId']),
        mergeMap (group$ => group$.pipe(toArray())),
      );

Подписка никогда не срабатывает ...

Есть предложения?

1 Ответ

2 голосов
/ 27 января 2020

О, после прочтения снова ... Думаю, я понял, что здесь происходит.

toArray будет выдавать значение только тогда, когда поток закрыт. Когда вы слушаете из своего магазина (который никогда не будет закрыт), вы никогда не получите ничего под toArray. Вы должны использовать что-то вроде сканирования, если хотите накапливать и показывать результат при каждом новом излучении.

...