【问题标题】:Firebase set object in firestore never catches errorsFirestore 中的 Firebase 设置对象从不捕获错误
【发布时间】:2020-03-25 14:00:14
【问题描述】:

使用 Firebase firestore 数据库,我创建了一个函数,该函数创建或更新表示为 JSON 对象的成员配置文件。创建和更新工作正常,但我也想做正确的错误处理。我的代码基于官方文档https://firebase.google.com/docs/firestore/manage-data/add-data,但从未调用过错误案例,例如我禁用互联网连接或将集合名称更改为不存在的名称。 有谁知道如何使用 firebase 的 set-method 捕捉错误?

collection("member")
.doc(member.authUID)
.set(member).then(function() {
    console.log("Document successfully written!");
// dispatch(success_action)..
})
.catch(function(error) {
    console.error("Error writing document: ", error);
// dispatch(error_action)..
});

【问题讨论】:

  • 虽然都是 Firebase 的一部分,但 google-cloud-firestorefirebase-realtime-database 是独立的数据库。请仅使用您使用的数据库的标签标记您的问题。

标签: reactjs firebase react-native google-cloud-firestore


【解决方案1】:

您这里似乎有两个不同的案例:

  1. 在没有互联网连接的情况下写入不会被视为 Cloud Firestore 失败,因为它可以在没有互联网连接的情况下工作。它有一个完整的本地数据库,可以在其中存储数据,并且可以在合理的时间内继续离线工作。

  2. 向其中写入文档时会自动创建一个集合。因此,当您写入一个不存在的集合时,您只是在创建该集合。

调用错误处理程序的常见情况是您的server-side security rules 拒绝写入操作。

【讨论】:

  • 感谢您的快速响应,Firebase 自动涵盖的大量功能真是太棒了。
猜你喜欢
  • 1970-01-01
  • 2020-11-05
  • 2020-12-04
  • 2012-11-07
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 2018-12-15
  • 2020-04-02
相关资源
最近更新 更多