【问题标题】:Fetch data from IndexedDB in Angular2从 Angular2 中的 IndexedDB 获取数据
【发布时间】:2017-10-04 06:34:01
【问题描述】:

任何人都知道 Angular2 IndexedDb。请帮助我。

我有一个这样的 json 响应。

{
  "response": {
    "data": {
      "name": "ABC",
      "Id": "1234",
      "address": "adthhyrr"    
    }
  }
}

我正在将此响应保存到 IndexedDB。但是我在从 indexedDB 获取数据时遇到了问题。 我正在关注这个例子。https://github.com/robisim74/angular2indexedDB

在服务文件中我这样做是为了获取数据。

 getAllData(): any {  

       return new Promise(resolve => 
          {
            this.indexedDB.openDBAsync("Angular2IndexedDB", 1).forEach(

                (readyState: string) => {

                    console.log('IndexedDB service: opening db: ' + readyState);

                }, null

            ).then(

                () => {

                    // Gets all records from "Table".
                    this.indexedDB.getAllRecordsAsync("Login").forEach(

                        // Next.
                        (record: Todo) => {
                            if (record != null) {
                               this.indexeddb_data = JSON.parse(record.description);
                                console.log('data'+this.indexeddb_data);
                               //here am getting data in this.indexeddb_data.In console i am getting.
                                return this.indexeddb_data;
                            }
                        }, null

                    ).then(() => {

                        resolve(true);
                        return this.indexeddb_data;

                    });

                });
        });
    }

但它没有返回任何东西。谁能请我如何做到这一点。或者有任何其他方法可以从 IndexedDB 获取数据吗?

【问题讨论】:

    标签: javascript angular indexeddb


    【解决方案1】:

    在您引用“this.indexedDB”的地方,链接代码的作者实际上在其服务对象上具有处理“openDBAsync”功能和 getAllRecordsAsync 功能的函数。它们不是 indexedDB 对象上的函数。因此,如果您已经像他一样在您的服务上声明了函数,或者正在从其他服务导入它们,那么您应该以正确的方式引用它们。如果它们是直接在服务类上声明的,那么只需说“this.openDBAsync('some_name', 1)”而不是你的做法。如果你是从其他文件中导入这些函数,那么只需像“openDBAsync('some_name', 1)”这样直接调用它们。

    另外,请查看 indexedDB api 以确保您有可用的方法,这样您就不会被绊倒。 https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-15
      • 2021-07-06
      • 2016-07-23
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      相关资源
      最近更新 更多