error: la propiedad 'getChildren' no existe en el tipo 'DataSnapshot'
... Lo hace en la documentación P:
I import * as firebase from "firebase";
en la parte superior del archivo. La función uid-fetching funciona. No le gusta la sintaxis del bucle for por alguna razón ...
También probé la sintaxis:for (DataSnapshot child : parent.getChildren()) { }
y luego el compilador me dice que se espera un punto y coma en la línea donde comienza el ciclo for.
getMessages() {
return new Promise(function (resolve) {
return firebase.auth().onAuthStateChanged(function (user) {
if (user) {
resolve(user.uid);
}
});
}).then((result) => {
return firebase.database().ref('mailboxes/' + result).once('value').then((snapshot) => {
let messageArray;
for (let snap of snapshot.getChildren()) {
messageArray.push(snap.val());
console.log('snapshot key:' + snap.key);
console.log('snapshot val:' + snap.val());
};
return messageArray;
});
});
}