gpt4 book ai didi

android - 使用Source.Server但用户未连接到互联网时,如何获取Firestore错误代码?

转载 作者:行者123 更新时间:2023-12-02 13:19:34 26 4
gpt4 key购买 nike

如果用户未连接到互联网,我会收到这样的错误消息,我将源设置为Source.Server:

failed to get document from server. (However, this document does exist in the local cache. Run again without setting to SERVER to retrieve the cached document.)



我想编写自己的错误消息,实际上我可以对消息进行硬编码,像这样
if (message == "failed to get document from server ........") {
showToast("showing my own message here")
}

但是它很容易中断,例如,如果firebase sdk更改错误消息字符串。是否有任何错误代码或枚举错误可识别此错误?

这是代码
fun getUserData(source: Source = Source.SERVER, userID: String, completion: (user: User?, errorMessage:String?) -> Unit) {

db.document("users/${userID}").get(source).addOnSuccessListener { documentSnapshot ->

if (documentSnapshot == null || !documentSnapshot.exists()) {
completion(null,"Account is not found")
return@addOnSuccessListener
}

val userData = documentSnapshot.data ?: return@addOnSuccessListener
val user = User(userData)
completion(user,null)


}.addOnFailureListener {
completion(null,it.localizedMessage) // error message comes from here
}


}

最佳答案

传递给故障侦听器回调的异常的类型为FirebaseFirestoreException。该类包含一个确定确切错误的正式Code类型。我不知道会是哪一种,但是我最好您可以通过检查结果来弄清楚。如果实际上由于某种原因没有代码,请尝试在the Firebase SDK GitHub上提交问题。

关于android - 使用Source.Server但用户未连接到互联网时,如何获取Firestore错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59691799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com