Я работаю с парсингом API в реакции и получил объект, который мне нужен, чтобы извлечь и передать зараженные данные другому компоненту, но я нахожу это немного сложным, и весь мой код становится беспорядочным, потому что данные в объекте находятся в следующая строчка:
Объект А:
б -> отношение
с -> отношение
Отношение b:
d-> отношение
теперь я хочу получить b и c, а также все данные из d, при запуске я запросил данные b и c и получил два обещания, как сообщает API, но в конце я хочу заполнить большой объект, который содержит все извлеченные данные из b (и d внутри него) и c.
поэтому я создал новое обещание с Promise.all, и я объединил b и c, но потом я обнаружил, что мне нужно извлечь из b все данные из d, который является отношением, и запрос данных отношения возвращает вам обещание который не синхорнус.
теперь асинхронность хороша для меня, пока я могу заполнить большой объект состояния, который должен содержать все извлеченные данные из объекта разбора, но, к сожалению, я не могу узнать, как взять данные d и когда .then()
метод, я получаю только извлеченные данные и не могу заполнить объект состояния, когда это обещание выполнено ...
Каков правильный дизайн для извлечения данных вложенных отношений из анализа?
вот пример того, что я сейчас делаю:
bPromise = a.relation('b').query().find();
cPromise = a.relation('c').query().find();
combinedPromise = Promise.all([bPromise, cPromise]);
combinedPromise.then(results => {
// fetch c promise with calling get method of parse API...
// fetch b non relation data with calling to get method of parse API
// now a variable named filledObject is filled with all the data
from c and b except of the d relation data, right after i insert
it into the state
b.relation('d').query.find().then(results => {
// how i can insert fetched data from results into filledObject?
}
}
Большое спасибо!