Показать сообщение отдельно
  #1 (permalink)  
Старый 13.09.2022, 15:14
Аспирант
Отправить личное сообщение для Elfix Посмотреть профиль Найти все сообщения от Elfix
 
Регистрация: 03.01.2018
Сообщений: 38

Рекурсивная функция async await
Всем привет!

Есть вот такой участок кода:
const getCoursesGroups = async (groupId = null) => {
        return await request.app.database.query(
            `SELECT

            courses_groups.id,
            courses_groups.display_name

            FROM catalogs.courses_groups
            WHERE
            courses_groups.course_group_id ${groupId === null ? `IS NULL` : ` = ${groupId}`}
            AND courses_groups.deleted = FALSE;`
        ).then(async groups => {
            return await Promise.all(groups.map(async group => {
                group.elements = await getCoursesGroups(group.id);
                return group;
            }));
        }).catch(e => {
            return null;
        });
    };

    let groups = await getCoursesGroups();
    console.log(groups);


Цель получить список групп и к каждой из групп добавить поле elements, состоящий в свою очередь из таких же подгрупп.

При запуске кода получаю ответ такой:

[
  {
    id: '1',
    displayName: 'Курсы подготовки бухгалтеров',
    elements: [ [Object], [Object], [Object], [Object], [Object], [Object] ]
  }
]


Почему отображается Object?
Хотелось бы вместо него отображать структуру json.
Ответить с цитированием