【问题标题】:Value allways returns null from localstorage (Ionic 3 + angular 5)值总是从本地存储返回 null (Ionic 3 + angular 5)
【发布时间】:2018-07-12 17:38:18
【问题描述】:

我刚刚在我的 ionic 3 应用程序中添加了存储插件(使用 angular 5)。 文档非常简单……至少我是这么认为的。

由于某种原因,我可以完美地存储该值(在调试工具中也可见),但我无法将其读回...

我的代码:

import {Injectable} from '@angular/core';
import {Storage} from '@ionic/storage';

@Injectable()
export class LocalStorageService {
constructor(private storage: Storage) {}

setItem(key: string, value: string | Object | number): Promise<void> {
    return this.storage.set(key, JSON.stringify(value));
}

getItem(key: string): Promise<string> {
    return this.storage.get(key)
        .then((value: any) => {
            console.log('---------------------------------------');
            console.log(value);
            return value;
        });
}

removeItem(key: string): Promise<void> {
    return this.storage.remove(key);
}

clear(): Promise<void> {
    return this.storage.clear();
}
}

我的模块:

NgModule({
declarations: [
    ...
],
imports: [
    ...
    IonicStorageModule.forRoot(),
    ...
],
exports: [
    ...
]
export class GlobalModule {
}

所以我不知道我做错了什么......? 也许是一个旁注,因为我不知道它是否相关。 我已经使用了 ionic 的 SQLite 插件,它工作正常。所以现在我正在尝试添加本地存储来存储简单的数据对......

提前感谢您的帮助。

亲切的问候

【问题讨论】:

  • getItem()下的console.log(value)是空的吗??
  • 每次都是这样...当我打开chrome调试工具时,在应用程序->本地存储下,我可以看到具有正确值的键...
  • 在你的组件中,你是在调用setItem()之前调用getItem()吗?
  • 不,这是我的第一个想法,写作还没有完成。但是我什至在重新启动应用程序时尝试了它(因此变量在上次运行时已经在本地存储中......)。仍然,该值为 null

标签: javascript angular ionic3 local-storage storage


【解决方案1】:

getItem(key: string): Promise&lt;string&gt; 返回一个承诺,但您已经在方法中调用了.then()。 return 在 .then() 中不起作用,因为它是同步方法中的异步方法。要么在没有.then() 的情况下返回promise,或者什么都不返回并在该方法中使用.then() 做一些事情。

【讨论】:

  • 我不相信这是真的,你总是可以从then() 返回,通过再次执行then() 来利用返回值,即链接它们,例如在这里,他会做类似:this.getItem(auth).then((tokenValue) =&gt; { ...})
  • 通常代码只有一行 return this.storage.get(key),我把 then 放在那里检查值...因为没有“then()”,值是仍然为空...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-05
  • 2017-08-31
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 2016-04-08
  • 1970-01-01
相关资源
最近更新 更多