我是本机反应并在函数内部调用函数的新手。
到目前为止,我已经完成了以下工作:
第1步:创建了一个函数 _snapshotToArray ,以将Firebase快照转换为Arrray。
_snapshotToArray(snapshot) {
var returnArr = [];
snapshot.forEach(function(childSnapshot) {
var item = childSnapshot.val();
item.key = childSnapshot.key;
returnArr.push(item);
});
return returnArr;
}
第2步:如下创建另一个函数,并在其中调用 _snapshotToArray 。
_readUserDataFromFirebaseConsole() {//once and on
firebase.database().ref('Users/').on('value', function (snapshot) {
console.log(this._snapshotToArray(snapshot));
Toast.show(this._snapshotToArray(snapshot),Toast.LONG);
});
}
谈论这个电话:
console.log(this._snapshotToArray(snapshot));
当我按CTRL + CICK时,它不允许我导航到功能 _snapshotToArray 的主体。
“设备”中出现以下错误:
_snapshotToArray未定义
可能是什么问题?
答案 0 :(得分:1)
我现在不在我的电脑上,因此我无法对其进行测试,但是从查看您的代码开始,您需要使用不同的功能符号来允许对父方法和父类的访问/从父方法和父类的访问。
_snapshotToArray = snapshot => {
var returnArr = [];
snapshot.forEach(function(childSnapshot) {
var item = childSnapshot.val();
item.key = childSnapshot.key;
returnArr.push(item);
});
return returnArr;
}
和
_readUserDataFromFirebaseConsole = () => {
firebase.database().ref('Users/').on('value', snapshot => {
console.log(this._snapshotToArray(snapshot));
Toast.show(this._snapshotToArray(snapshot),Toast.LONG);
});
}