#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')); }