在 TypeScript 中将 Firebase 数据库快照转换为数组时出错
Error at Converting A Firebase Database Snapshot To An Array In TypeScript
我一直在学习本教程 https://ilikekillnerds.com/2017/05/convert-firebase-database-snapshotcollection-array-javascript/ 以便在我的离子应用程序中将 firebase 快照转换为数组。这是我的代码:
这是我在 firebase 中的数据结构:
当我使用我的代码时,这是它给我的错误:
当我调试似乎是错误的那行代码时,我可以看到快照中的第一项存储在数组中,然后下一个值未定义。虽然如果我只打印密钥,它会打印得很好:
有人知道发生了什么事吗?
您的数据库中有几个 boolean
属性,例如 boolLogin
和 disponible.
因此,当您使用 foreach 迭代值并向它们添加键时,您会收到此错误因为即使它在此行
中具有 boolean
值,它也会尝试向该项目添加键
item.key=childSnapshot.key;
尝试使用以下代码将快照添加到数组中
this.consultaTutor=this.afDatabase.object(`profile/SlHGkc3ZK0hHxH2s1sowpgGuJfA3`, {preserveSnapshot: true})
this.consultaTutor.subscribe(info=>{
info.forEach(childSnapshot=>{
var value = childSnapshot.val();
var key = childSnapshot.key;
console.log(childSnapshot.key);
var item = { "key" : key, "value" : value};
this.listaTutores.push(item);
})
我一直在学习本教程 https://ilikekillnerds.com/2017/05/convert-firebase-database-snapshotcollection-array-javascript/ 以便在我的离子应用程序中将 firebase 快照转换为数组。这是我的代码:
这是我在 firebase 中的数据结构:
当我使用我的代码时,这是它给我的错误:
当我调试似乎是错误的那行代码时,我可以看到快照中的第一项存储在数组中,然后下一个值未定义。虽然如果我只打印密钥,它会打印得很好:
有人知道发生了什么事吗?
您的数据库中有几个 boolean
属性,例如 boolLogin
和 disponible.
因此,当您使用 foreach 迭代值并向它们添加键时,您会收到此错误因为即使它在此行
boolean
值,它也会尝试向该项目添加键
item.key=childSnapshot.key;
尝试使用以下代码将快照添加到数组中
this.consultaTutor=this.afDatabase.object(`profile/SlHGkc3ZK0hHxH2s1sowpgGuJfA3`, {preserveSnapshot: true})
this.consultaTutor.subscribe(info=>{
info.forEach(childSnapshot=>{
var value = childSnapshot.val();
var key = childSnapshot.key;
console.log(childSnapshot.key);
var item = { "key" : key, "value" : value};
this.listaTutores.push(item);
})