У меня есть функция, которую я вызываю, и в рамках функции, которую я использую обещание, я также хочу сначала вызвать эту функцию (на самом деле это вторая функция, вызываемая в коде), извлечь некоторые данные, а затем проанализировать эти данные после того, как мойвторая функция, которая также вызывает некоторые данные.
getAllProductGroups(): Promise<void> {
return new Promise((resolve, reject) => {
this.allEngagementTypes().subscribe(data => {
const products = {};
const potentialEvents = [];
data.forEach(product => {
// products[product.id] = product.description;
this.potentialForEvents(this.organization.id, product.id)
.subscribe(potentialEventData => {
potentialEvents.push(potentialEventData);
this.allEngagementAreas().subscribe(areas => {
this.organization.addAreas(areas, potentialEvents);
resolve();
}, error => reject(error));
});
});
})
});
}
Я вызываю forEach при первом вызове функции allEngagementTypes , так как мне нужно использовать каждый элемент, чтобы затем сделать мою вторую функциювызовите потенциальный доступ к событиям , затем я создаю массив с ответами с потенциалаEvents.push ,
Я хочу затем с этим массивом проанализировать его после моего третьего вызова ' allEngagementAreas 'как при вызове функции' addAreas ', я хочу проанализировать массив потенциальные события , но из-за forEach Он отправляется 21 раз, из которых только две области фактическиотправлено до полной загрузки addAreas, мне нужно отправить только один массив, чтобы он был проанализирован и был готов до allEngagementОбласти на самом деле называются.
Любая помощь очень ценится.