#javascript #node.js #firebase #firebase-realtime-database
#javascript #node.js #firebase #firebase-realtime-database
Вопрос:
У меня есть эта функция, но кажется, что это значение равно нулю, потому что я получаю сообщение об ошибке: (узел: 16232) Необработанное promiserejectionwarning: TypeError: не удается прочитать свойство ‘groupPages’ из null
async setTriggers() {
this.firebase.database().ref().child('users').child(this.userId).child('social/targets').on('value', async function (snapshot) {
var targets = snapshot.val();
for (let key of Object.keys(targets)) {
var currentTarget = targets[key];
if (currentTarget.social == "Facebook") {
if (currentTarget.type == 'groupId') {
if (this.groupPages[currentTarget.groupId] == null) { // error triggers here
await this._openGroupPage(key, currentTarget.groupId);
}
}
}
}
.
.
.
Ответ №1:
Самое простое исправление — использовать обозначение жирной стрелкой:
this.firebase.database().ref().child('users').child(this.userId).child('social/targets')
.on('value', async(snapshot) => {
var targets = snapshot.val();
for (let key of Object.keys(targets)) {
var currentTarget = targets[key];
if (currentTarget.social == "Facebook") {
if (currentTarget.type == 'groupId') {
if (this.groupPages[currentTarget.groupId] == null) { // error triggers here
await this._openGroupPage(key, currentTarget.groupId);
}
}
}
}