Способ, которым вы пытаетесь передать данные в buildTable
, не работает. Если вы установите точку останова внутри buildTable
, вы сможете увидеть это.
Причина в том, что данные загружаются из Firebase асинхронно, и любой код, которому нужны данные, должен вызываться из внутри обратный вызов once()
. Таким образом, вы захотите поместить вызов на buildTable
в пределах этого обратного вызова, например:
ref.once("value").then((snap) => {
const data = snap.val()
let result = data.map(i => {
let res = {
'#': Number(i.id),
'Name': i.name,
};
return Object.entries(res).reduce((memo, [key, value]) => {
if (value) {
return {
...memo,
[key]: value
}
} else {
return memo;
}
}, {})
})
table.buildTable(result);
}))