【发布时间】:2017-08-18 03:58:39
【问题描述】:
如果我要保存到 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”中的无效键 ()。钥匙必须是 非空字符串,不能包含“.”、“#”、“$”、“/”、“[”或“]”
【问题讨论】:
-
在
real timeDB 中提供有关您的数据模型的更多详细信息。 -
@ErnieKev 我也面临同样的问题。你知道如何克服它吗?我什至添加了外部全局 try-catch,但它仍然发生,因为我在回调中有一些“更新”调用。这是将 try-catch 无处不在的唯一方法吗?那么firebase的“catch”有什么用呢?
标签: javascript typescript firebase firebase-realtime-database