ios - Ionic 4 IOS FIRESTORE 内部断言失败 : AsyncQueue is already failed: An internal error was encountered in the Indexed Database server

标签 ios angular ionic-framework angularfire angularfire2-offline

<分区>

我正在开发一个 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 循环我可以解决这个问题,比如: -检测后台的变化,如果前台有任何变化,取消订阅并重新订阅。

你知道还有其他方法吗?

最佳答案

我解决的那个错误:

    window.onerror = function(error) {
  if (error.indexOf("An internal error was encountered in the Indexed Database server") >= 0) {
    // Refresh the page to restore IndexedDb to a working state.
    window.location.reload();
  }
};

以及如何观察背景和前景的状态变化:

import { Platform } from 'ionic-angular';

@Component({
  template: `OK`
})

constructor(public platform: Platform) {

    platform.ready().then(() => {

      if (platform.is('cordova')){

        //Subscribe on pause
        this.platform.pause.subscribe(() => {
          //Hello pause
        });

        //Subscribe on resume
        this.platform.resume.subscribe(() => {
          window['paused'] = 0;
        });
       }
    });
}

我希望他们能为你问候。

关于ios - Ionic 4 IOS FIRESTORE 内部断言失败 : AsyncQueue is already failed: An internal error was encountered in the Indexed Database server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57443547/

相关文章:

ios - 尝试在 Swift 应用程序中导入 MoPub 库时出错(错误 : use of undeclared type)

ios - 应用程序的本地化名称不正确 iOS

ios - Swift3 iOS - 如何在 URL 数组 [URL?] 中搜索 URL

angular - 如何确保在以 Angular 渲染 react 形式之前加载可观察数据

node.js - Angular 2 Webpack 生产构建和 Node : can't get direct URLs to serve

angularjs - Angular JS - 将 ng-click $index 值传递给 Controller ​​函数,然后返回到另一个 View

android - 将网站用作移动应用程序是否合适

ios - Swift - 从选项卡栏 Controller 更新 View Controller 内的变量

javascript - Angular 在数组中定义的特定索引上运行 *ngFor

ionic-framework - 自定义 SVG 图标 ionic 3 选项卡,图标有背景色