如何在flatter中正确调用FirebaseFirestore.instance.clearPersistence()?
我和这家伙面临着同样的问题 但他接受的答案对我没有帮助 问题: 当一个用户注销,而另一个不同的用户登录时,由于firebase缓存系统,我的应用程序上显示的所有数据都来自先前注销的用户。我搜索了这个问题,找到了一个解决方案,它包括调用此方法:如何在flatter中正确调用FirebaseFirestore.instance.clearPersistence()?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我和这家伙面临着同样的问题 但他接受的答案对我没有帮助 问题: 当一个用户注销,而另一个不同的用户登录时,由于firebase缓存系统,我的应用程序上显示的所有数据都来自先前注销的用户。我搜索了这个问题,找到了一个解决方案,它包括调用此方法: FirebaseFirestore.instance.clearPersistence(); 但是每当我放置这行代码的任何地方,都会抛出一个异常,表示在客户端运行时我无法调用此方法: 发生异常。 PlatformException(PlatformExc
FirebaseFirestore.instance.clearPersistence();
但是每当我放置这行代码的任何地方,都会抛出一个异常,表示在客户端运行时我无法调用此方法:
发生异常。
PlatformException(PlatformException(失败的前提条件,操作被拒绝,因为系统未处于操作执行所需的状态。如果执行查询,请确保已通过Firebase控制台对其进行索引。)。,{代码:前置条件失败,消息:操作被拒绝,因为系统未处于执行操作所需的状态。如果执行查询,请确保已通过Firebase控制台对其进行索引。nativeErrorMessage:Persistence无法在客户端运行时清除。nativeErrorCode:9})
那么,如何调用此方法?或者更好,是否有解决此问题的最佳方法?您应该在初始化Firebase之后,在进行第一次查询之前立即调用它。似乎有必要先终止
FirebaseFirestore.instance
在注销方法结束时,我调用:
await FirebaseFirestore.instance.terminate();
await FirebaseFirestore.instance.clearPersistance();
我没有遇到任何错误,现在一切似乎都正常工作。将此添加到登录按钮“onPressed”中:
FirebaseFirestore.instance.terminate();
FirebaseFirestore.instance
.clearPersistence()
.then((value) => signinUser(email, password, context));
我尝试了这种方法,但没有成功。我注销并放置Wait FirebaseFirestore.instance.clearPersistence();单击登录按钮后的第一件事就是出现相同的错误。您找到了解决此问题的方法吗?似乎有必要先终止FirebaseFirestore.instance。