Я пытаюсь получить несколько документов из хранилища и добавить их в массив, возвращая этот массив.По какой-то причине array.push()
не добавляет данные в массив.Это из-за объема?Ошибок нет, поэтому я сомневаюсь, что это так.
Почему элемент не помещается в массив?
Это мой текущий подход.Я также попытался использовать обещание вместо наблюдаемого.(Подсчет того, сколько документов было возвращено, и их разрешение после их получения)
getFriendsData(ids: string[]): Observable<User[]>{
return Observable.create((observer) => {
let lstFriends: User[] = [];
if (ids != null && ids.length > 0){
ids.forEach((sFriendID) => {
this.firestore.collection('users').doc(sFriendID).get().subscribe((data) => {
console.log("User Fetched", <User>{id: sFriendID, ...data.data()});
lstFriends.push(<User>{id: sFriendID, ...data.data()});
console.log("After push", lstFriends);
observer.next(lstFriends);
});
});
}
});
}
Как видите, пользователь не добавляется в массив, но ошибок нет.