Я создал приложение чата в Ionic4 с Firebase в качестве бэкэнда. И я дал возможность создавать группы. Поэтому моя проблема в том, что когда я пытаюсь создать новую группу, мое приложение вылетает из-за загрузки всех пользователей на странице «Создать новую группу». Вот мой код:
new-group.page.ts
ngOnInit() {
this.group = {
img: "./assets/img/default-group.png"
};
this.searchFriend = "";
this.getData.getCurrentUser().snapshotChanges().subscribe(async (accountRes: any) => {
let account: any = { $key: accountRes.key, ...accountRes.payload.val() };
if (!this.groupMembers) {
this.groupMembers = [account];
}
});
this.getData.getUsers().snapshotChanges().subscribe(async (usersRes) => {
console.log("Inside Second Subscribe");
let c: any = [];
c = usersRes.map(c => ({ key: c.key, ...c.payload.val() }));
if (c.length > 0) {
//this loops forever not just once
for (var i = 0; i < 50; i++) {
if (c[i].uid != this.afAuth.auth.currentUser.uid) {
let friend = { $key: c[i].uid, ...c[i] };
console.log("Inside For: " + i);
this.addOrUpdateFriend(friend);
//this.friends.push(friend);
}
}
} else {
this.friends = [];
}
});
}
Так что на данный момент у меня есть 150 пользователей и для каждого пользователя, для l oop внутри моего второго цикла подписки навсегда. Есть идеи, что я тут не так делаю?