gpt4 book ai didi

javascript - ionic 2 本地存储无法将检索到的值设置为变量

转载 作者:太空狗 更新时间:2023-10-29 18:14:18 27 4
gpt4 key购买 nike

我正在尝试将从 .get 函数检索到的值设置为在外部声明但无法这样做的变量。

var dt;
//retrieve
this.local.get('didTutorial').then((value) => {
alert(value);
dt = value;
})

console.log("Local Storage value: "+dt);

我能够为警报获取“true”,但为在函数外部打印的 console.log 获取“undefined”。

enter image description here enter image description here

一种解决方法是我可以将所有剩余代码放入“.then 函数”,但这会非常困惑。

更新(解决方案):

根据 ionic api ( http://ionicframework.com/docs/v2/api/platform/storage/LocalStorage/ ),他们使用 .get 来检索值。

由于使用 promises 有其自身的局限性,因此请使用以下内容:

 constructor(navController) {
this.navController = navController;
this.local = new Storage(LocalStorage);
}

和 getItem 函数,

localStorage.getItem('didTutorial')

您将能够检索它,而无需将所有内容都放入回调方法中。

最佳答案

在这种情况下,从您的 localStorage 包装器读取是异步的,这意味着传递给 this.local.get 的回调在您调用 console 之后 被调用.log。尝试将 console.log 放在您的回调中;然后它应该工作:

// retrieve
this.local.get('didTutorial').then((value) => {
alert(value)
var dt = value
console.log("Local Storage value:", dt)
})

此外,您会注意到我更改了您的 console.log 调用参数。这是因为 console.log 接受 1 个或多个参数,并且当您传入它们而不是连接它们时,它们的格式会更好。只是一个专业提示。

关于javascript - ionic 2 本地存储无法将检索到的值设置为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36831634/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com