<分区>
我正在开发一个 Ionic 应用程序,我使用 Firestore 作为数据库,使用离线模式。
import {AngularFirestoreModule} from '@ angular / fire / Firestore';
AngularFirestoreModule.enablePersistence (),
当我打开应用程序时,一切都运行良好,即使在离线模式下也是如此。 但是,如果应用程序在重新打开时在后台模式下保持打开状态,它总是会提示此错误:
FIRESTORE (6.2.4) INTERNAL ASSERTION FAILED: AsyncQueue is already failed: An internal error was encountered in the Indexed Database server.
而且我无法再在应用程序中导航到任何地方,因为我的条件是订阅一直有效,直到组件被销毁(当我更改页面时发生这种情况)
takeUntil (componentDestroyed (this)):
我收到以下错误:
"1 errors occurred during unsubscription: 1) Error: FIRESTORE (6.2.4) INTERNAL ASSERTION FAILED: AsyncQueue is already failed: An internal error was encountered in the Indexed Database server"
而且整个应用程序停止工作,不得不关闭它并重新打开它非常烦人。
有什么不同的做法吗?我已经查看了 StackOverflow、Github、所有谷歌,但我找不到任何解决方案。 我看到其他应用程序(如 Netflix、HBO 等)所做的。是,当您重新打开应用程序时,它并没有完全从它停留的位置开始,它会警告您它正在加载,并且当它完成加载时,它会让您非常接近离开应用程序之前的位置。我想它有一个背景和前景变化检测器以及每个事件的函数。
我在想通过 ionic 循环我可以解决这个问题,比如: -检测后台的变化,如果前台有任何变化,取消订阅并重新订阅。
你知道还有其他方法吗?