Я новый пользователь Ionic. У меня есть тиндер-карты, и моя цель - показать картинку в моей базе данных Firebase, но при замене одной карты возникает задержка. Я думаю, что мой метод получения моих данных очень дорогой и влияет на производительность анимации. Но я не знаю, как правильно получить мои данные.

//Method to get Data :
getAllBars() {
this.afd.list('/Bar/').valueChanges().subscribe(
data => {
this.bars = data;
}
)
}
//Constructor with init:
constructor(private navCtrl: NavController, public modalCtrl: ModalController, public db:AngularFireDatabase) {
this.stackConfig = {
// Default setting only allows UP, LEFT and RIGHT so you can override this as below
allowedDirections: [
Direction.LEFT,
Direction.RIGHT
],
throwOutConfidence: (offsetX, offsetY, element) => {
return Math.min(Math.abs(offsetX) / (element.offsetWidth/2), 1);
},
transform: (element, x, y, r) => {
this.onItemMove(element, x, y, r);
},
throwOutDistance: (d) => {
return 800;
}
};
}
ngOnInit() {
this.cards = [];
this.bars = [];
//this.users = USERS;
this.getAllBars();
this.addNewCard();
this.addNewCard();
setTimeout(() => {
this.isLoading = false;
}, 3000);
}
//Add my array to cards :
addNewCard() {
console.log("BARS TABLEAU:", this.bars);
let differences = _.difference(this.bars, this.cards);
if (!differences.length) return;
let randomIndex = Math.floor(Math.random() * (differences.length));
this.cards.push(differences[randomIndex]);
console.info('CURRENT STACK:', this.cards.map(c => c.name));
}
Заранее спасибо за помощь.