Не удается получить из firestore вовремя

#asynchronous #async-await

Вопрос:

У меня все еще возникают проблемы в JS с асинхронностью/ожиданием. Я настроил две функции по-разному, но они дают один и тот же результат (пустой файл). По моей логике, они связаны вместе, используя тогда. Если я помещу весь код в одну и ту же функцию, я смогу заставить его работать, но с рефакторингом — нет

(я думаю, что если в stackoverflow так много проблем с помощью async/await, то пользователи не являются проблемой :мышление:)

 async createEmailLists() {  if (this.buyersEmails.length !== 0 amp;amp; this.sellersEmails.length !== 0) {  return;  }  let buyersEmails = '';  let sellersEmails = '';  this.ordersCollection.valueChanges().pipe(take(1)).subscribe(orders =gt; {  orders.forEach(order =gt; {  if (!buyersEmails.includes(this.userIdEmailMap[order['userId']])) {  buyersEmails  = ','   this.userIdEmailMap[order['userId']];  }  if (!sellersEmails.includes(this.userIdEmailMap[order['productCreatorId']])) {  sellersEmails  = ','   this.userIdEmailMap[order['productCreatorId']];  }  });  this.buyersEmails = buyersEmails;  this.sellersEmails = sellersEmails;  });  }   exportBuyers() {  this.createEmailLists().then(() =gt; {  saveAs(new Blob([this.buyersEmails]), 'buyers.csv');  });  }   async exportSellers() {  await this.createEmailLists().then(() =gt; saveAs(new Blob([this.sellersEmails]), 'sellers.csv'));   }