Цель
Я хочу получить данные при первом получении getComapniesData (). Затем я должен использовать идентификатор первой выборки данных, чтобы получить все данные из второй выборки getIncomesData (id). И я хочу регистрировать данные после того, как обе выборки получат полные данные и завершатся.
Функции
const getCompaniesData = async () => {
try {
const response = await fetch(baseUrl);
const data = await response.json();
return data;
} catch (error) {
console.log(error);
}
};
const getIncomesData = async (id) => {
try {
const response = await fetch(incomesUrl+id);
const data = await response.json();
return data;
} catch (error) {
console.log(error);
}
};
Получить данные
window.onload = () => {
const companiesTab = [];
const incomesTab = [];
getCompaniesData()
.then(compData => {
compData.map(item => {
let company = new Company(item.id, item.name, item.city, 0);
companiesTab.push(company);
});
companiesTab.map( company => {
//How to fetch here always full data from fetch getIncomesData(id)?
getIncomesData(company.id).then(incomData => {
let incomes = new Incomes(incomData.id, incomData.incomes);
incomes.sumIncomes(incomes);
incomesTab.push(incomes);
company.tIncomes = (Math.round(incomes.sum * 100) / 100).toFixed(2);
});
});
})
.then( () => {
//How to have full data here (It's 300 cells in tab)?
console.log(companiesTab);
console.log(incomesTab);
});
}