我有以下代码,如果我想要保存到firebase的数据无效,则会在控制台中抛出一些firebase异常。但我希望以一种受控方式捕获它并显示在屏幕上,而不是从控制台中找出。我不知道为什么我的.catch没有捕获任何firebase异常?
this.databaseService.saveCodesToFirebase(jsonFromCsv)
.then(result => {
this.alertService.alertPopup('Success', 'Code Updated')
})
.catch(error => {
this.errorMessage = 'Error - ' + error.message
})
saveCodesToFirebase(myObj: Object) {
let ref = firebase.database().ref();
let path = this.userService.getCurrentUser().companyId + '/codes/'
let lastUpdatedPath = this.userService.getCurrentUser().companyId + '/lastUpdated/';
var updates = {}
updates[path] = jobObject;
updates[lastUpdatedPath] = Math.round(new Date().getTime() / 1000);
return ref.child('codes').update(updates);
}
异常:Firebase.update失败:第一个参数在属性“codes.apple20170318.codes”中包含无效键()。键必须是非空字符串,并且不能包含“。”、“#”、“$”、“/”、“[”或“]”