从 Ionic2 存储中获取多个键值



使用 Ionic2 存储,我在自定义提供程序中完成了以下操作,我可以确认键值对已设置,并且可以单独检索它们:

this.storage.set('one', 1);
this.storage.set('two', 2);
this.storage.set('three', 3);

问题是我在我的一个页面中有一个函数,需要访问 HTTP 请求的所有这三个值,所以我可以像这样获得其中一个:

this.storage.get('one').then((value) => {
    // Preform http request sending value in POST data
});

但是,如何一次获取多个键值呢?我是否需要嵌套这些调用,或者是否有更简单的方法在一次调用中访问多个密钥,以便我可以执行以下操作:

this.storage.get(['one', 'two', 'three']).then((values) => {
    console.log(values.one); // I dunno, something like this
});

我为此目的使用了Promise.all

Promise.all([this.storage.get("email"), this.storage.get("username")]).then(values => {
      console.log("email", values[0]);
      console.log("username", values[1]);
      // every other thing can happen here e.g call a method
});

您可以简单地执行以下操作。

this.storage.forEach( (value, key, index) => {
    console.log("value", value);//store these values as you wish
    console.log("key", key);
    console.log("Index" index);
})

来自 API 文档。

 /**
   * Iterate through each key,value pair.
   * @param iteratorCallback a callback of the form (value, key, iterationNumber)
   * @return Promise that resolves when the iteration has finished.
   */
  forEach(iteratorCallback: (value: any, key: string, iterationNumber: Number) => any): Promise<null> {
    return this._dbPromise.then(db => db.iterate(iteratorCallback));
  }

相关内容

  • 没有找到相关文章

最新更新