Usando el almacenamiento Ionic2, hice lo siguiente en un proveedor personalizado, puedo confirmar que los pares clave-valor están configurados y puedo recuperarlos individualmente:
this.storage.set('one', 1); this.storage.set('two', 2); this.storage.set('three', 3);El problema es que tengo una función en una de mis páginas que necesita acceder a estos tres valores para una solicitud HTTP, así que puedo obtener uno de ellos así:
this.storage.get('one').then((value) => { // Preform http request sending value in POST data });Pero, ¿cómo obtengo varios valores clave a la vez? ¿Necesito anidar estas llamadas, o hay una forma más sencilla de acceder a varias teclas en una sola llamada, para poder hacer algo como:
this.storage.get(['one', 'two', 'three']).then((values) => { console.log(values.one); // I dunno, something like this });Usé Promise.all para este propósito
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 eg call a method });Simplemente puede hacerlo como se muestra a continuación.
this.storage.forEach( (value, key, index) => { console.log("value", value);//store these values as you wish console.log("key", key); console.log("Index" index); }) /** * 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)); }