Вы можете легко переписать свой код, используя async/await
. Его станет легче читать, писать, поддерживать, а также будет регистрировать ваше сообщение after
по желанию.
(async () => {
console.log('before', pollIds);
const uid = this.afAuth.auth.currentUser.uid;
const pollIds = polls.map(poll => poll.payload.doc.id);
const db = firebase.firestore();
const querySnapshot = await db.collection('votes').where('uid', '==', uid).get({source: 'server'});
const docs = querySnapshot.docs;
const totalVotes = docs.length;
for (const vote of docs) {
const doc = await vote.ref.get();
const pollId = doc.data().poll;
const index = pollIds.indexOf(pollId);
if (index > -1) {
console.log('removing...', pollIds[index]);
pollIds.splice(index, 1);
}
}
console.log('after', pollIds);
})();
Я явно не пробовал реальный код, поэтому воспринимайте его как вдохновение.