Я использую следующую функцию для обновления массива в Firestore:
component.ts
crearFavorito(key, e) {
this.fs.addFavorito(key);
this.snackBar.open(this.message, this.action, {
duration: 3000,
});
}
service.ts
addFavorito(key) {
const user = firebase.auth().currentUser;
this.afs.doc('eventos/' + key).update({
favoritos: firebase.firestore.FieldValue.arrayUnion(user.uid)
});
}
Это хорошо работает, когда пользователь проходит проверку подлинности, но когда пользователь не вошел в систему, я получаю следующую ошибку в консоли:
ОШИБКА TypeError: Невозможно прочитать свойство 'uid' с нулевым значением
Учитывая то, что я хочу сделать, это перенаправить его в раздел входа в систему или показать сообщение, которое должно быть аутентифицировано, тогда я попытался сделать следующее:
component.ts
crearFavorito(key, e) {
this.fs.addFavorito(key)
.then(() => {
this.snackBar.open(this.message, this.action, {
duration: 3000,
});
}, error => console.error('error:', error));
}
Но я получаю следующую ошибку в then
Машинопись:
«then» не существует для типа «void»
Есть идеи, как этого добиться?