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));


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

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

Войти через центр авторизации
Похожие вопросы