Следующее должно делать трюк:
async getAllUsersExceptCurrent() {
const lower = firebase
.firestore()
.collection('users')
.where(
firebase.firestore.FieldPath.documentId(),
'<',
firebase.auth().currentUser.uid
)
.get();
const upper = firebase
.firestore()
.collection('users')
.where(
firebase.firestore.FieldPath.documentId(),
'>',
firebase.auth().currentUser.uid
)
.get();
const [l, u] = await Promise.all([lower, upper]);
const lArray = l.docs.map(user => {
return { id: user.id, username: user.data().username };
});
const uArray = u.docs.map(user => {
return { id: user.id, username: user.data().username };
});
return lArray.concat(uArray);
}
Следующее также будет работать:
//...
const results = await Promise.all([lower, upper, lower]);
const usersList = [];
results.forEach(r => {
r.docs.map(user => {
usersList.push({ id: user.id, username: user.data().username });
});
});
return usersList;