我使用Firestore (来自Firebase),并尝试禁用缓存的使用,但没有成功。
这是我的问题。如果我把我的设备从互联网上断开然后我执行这个..。
getFireStoreInstance()
.collection(PATH)
.document(myObject.id)
.set(myObject)
.addOnCompleteListener( ... )或者这个..。
getFireStoreInstance()
.collection(PATH)
.batch()
.update(...)
.commit()..。什么都没有发生(这很好,因为我没有任何互联网连接)。然而,一旦我重新连接我的设备到互联网,completionListener会被打电话通知我,行动已经完成。
我想要的是,当我的设备无法访问互联网时,操作就会失败,completionListener就会被调用失败。这有可能吗?
当然,我已经尝试过以下代码(来自菲查德医生),但是它看起来对编写没有任何影响(尽管它对阅读有影响)。
val settings = FirebaseFirestoreSettings.Builder()
.setPersistenceEnabled(false)
.build()
FirebaseFirestore.getInstance().firestoreSettings = settings提前谢谢你
发布于 2018-05-25 06:29:42
侦听器不会因为网络连接而失败,您无法改变这种行为。他们总是默默地重试。拥有这样一个具有弹性的SDK的全部意义是防止当你的应用程序的网络连接不稳定时,你的应用程序就会被破坏--这在移动应用程序中经常发生。
如果由于缺乏连接而需要某些东西失败,那么使用Cloud函数创建一个HTTP (或可调用)端点,并直接调用它。如果HTTP套接字无法连接,则调用将失败。
https://stackoverflow.com/questions/50522000
复制相似问题