【发布时间】:2017-04-15 12:31:09
【问题描述】:
我的整数增量行为很奇怪。在我的最后一次数据库调用中,它被设置为 2,2,2 而不是从 0,1,2 开始。有人看到问题了吗?
let chats = firebase.database().ref(`/userProfile/${this.userAuth.uid}/messages/`);
let profiles = firebase.database().ref('/userProfile');
chats.on('value', (snapshot) => {
let i = -1;
this.messagesList = [];
for (let key in snapshot.val()) {
i++;
chats.child(key).limitToLast(1).on('value', (data) => {
this.messagesList[i] = data.val();
for (let message in this.messagesList[i]) {
this.messagesList[i].conversation_key = message;
}
console.log(i); // RETURNS 0,1,2
});
console.log(i); // RETURNS 0,1,2
profiles.child(key).on('value', (data) => {
console.log(i); // RETURNS 2,2,2
this.messagesList[i].firstname = data.val().firstname;
});
}
});
【问题讨论】:
标签: javascript angular typescript firebase firebase-realtime-database