我正在制作一个使用Firestore的应用程序,它使用onSuccessListener
只是为了知道任务是否成功,然后显示一条Toast消息,而onFailtureListener
只是为了知道它是否失败,然后显示Toast为此,但是我可以删除那些侦听器,并假设我知道引用将始终有效时,将始终写入数据并始终提取数据。
或者换句话说,我的onFailureListener
将在什么情况下触发。
我还面临另一个问题,由于离线支持,即使用户处于离线状态,新数据也会立即显示在UI中,这很好。 ,onSuccessListener
仅在用户获得回到网上,
在UI中显示数据应表示任务已成功完成,onSuccessListener
应该在线触发。
不是在连线吗,用户会在UI中看到数据并认为已成功添加数据,而当他在线返回一分钟后,他看到祝酒词说已添加数据,现在他在思考哪些数据?
答案 0 :(得分:2)
您不能假设任何写操作最终都会成功。 Firestore写入失败的最常见情况是违反安全规则,并且超出了某些限制(例如文档的个别写入限制)。
您可以在FirebaseFirestoreException.Code的API文档中看到所有可能的错误的列表。