我对 javascript 还很陌生,我自己似乎无法弄清楚这一点: 我想在我的 Cordova 项目中使用一个处理存储的插件。 基本上,我想要这个:
if(localStorage.getItem('download_quality')=="4k")
将被 native 存储插件取代。 数据存储通过:
this.nativeStorage.setItem('download_quality',"4k")
.then(
() => console.log('Stored item!'),
error => console.error('Error storing item', error)
);
根据文档,我应该使用:
this.nativeStorage.getItem('download_quality').then(
data => console.log(data),
error => console.error(error)
);
这工作正常,但我如何在 if 语句中使用它?
我已经尝试过:
var test = this.nativeStorage.getItem('download_quality').then(
data => {return data},
error => console.error(error)
);
if(test=="4k")
...
但这不起作用。
正确的做法是什么?
最佳答案
你应该以 promise 的方式来解决这个问题,在里面做你的事情。
this.nativeStorage.getItem('download_quality').then(
data => {
if (data === '4k') {
// do something
}
},
error => console.error(error)
);
关于javascript - js中Promise的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44570780/