Задать вопрос
Illorian
@Illorian
Front-end разработчик

Как правильно объединять потоки в rxjs?

Привет! У меня из бд приходит массив, содержащий в себе данные для построения дерева. Но у меня возникла проблема в построение сего в rxjs

Сейчас мой код выглядит так:

services
            .tree
            .collection
            .find()
            .$
            .pipe(
                switchMap(from),
                groupBy((value) => value.get('parent_id')),
                mergeScan((memo, group$) => {
                    const key = group$.key;

                    return group$.pipe(
                        map((value) => {
                            if(!(key in memo)) {
                                memo[key] = [];
                            }
                            memo[key].push(value);

                            return memo;
                        })
                    )
                }, {}),
            )
            .subscribe((data) => console.log('data', data));


И вроде бы в итоге я получаю то, что надо, только вместо одной записи в консоли я получаю очень даже много. Подскажите, как в таком случае правильно всё объединить, чтобы в итоге у меня был один пайплайн?
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Xuxicheta
@Xuxicheta
инженер
У вас обычный массив на входе, постройте из него дерево любым простым алгоритмом, зачем тут потоки городить?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы