Я пытаюсь выполнить динамическое моделирование данных c с помощью async / await. У меня есть две конечные точки, первая вернет массив объектов. У этих сущностей в массиве есть дочерние элементы, которые должны быть получены из другой конечной точки.
Поэтому результат, который я пытаюсь достичь, похож на:
[{
root: {
id: 'root1'
},
children: [
{
id: 'child1'
},
{
id: 'child2'
},
]
}]
Вот как я пытаюсь решить это:
let data = await rootLevel();
let levelOneData = [];
levelOneData = data.map((e) => {
let rootNode = {};
rootNode["root"] = e;
return rootNode;
});
let levelTwoData = await Promise.all(
levelOneData.map(async (e) => {
let response = await fetch(
`APIURL{e.parent.ID}`
);
let responseJSON = response.json();
e["children"] = responseJSON;
return e;
})
);
const rootLevel = async () => {
let response = await fetch(
`APIURL`
);
return response.json();
};
Что я ожидаю:
children: {Array(26)}
Что я получаю:
children: Promise {<resolved>: Array(26)}
Я что-то наблюдаю в моей цепочке Promise.all , так что я получаю только обещанные Обещания в моем объекте данных, какие-либо советы о том, как получить простые данные там? Или как преобразовать массив разрешенных обещаний в реальные данные?