javascript - js中Promise的正确使用

标签 javascript cordova

我对 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/

相关文章:

javascript - 如何在基于类的组件中使用 `useSelector`? react ,还原

javascript - 跟踪当前按键的实际数量

javascript - JQuery 未在 Cordova 中执行

javascript - 单击“提交”按钮时无法发布/出错

jquery - 我们可以使用 PhoneGap 使用 Eclipse 以外的 IDE 构建混合应用程序吗?

javascript - 通过 css 和 javascript 的背景图像的 y 位置问题

javascript - 通过 POST 将 JSON 从 Flask 返回到 AJAX

javascript - Python BeautifulSoup 抓取具有保护的网页

javascript - 获取数据并将其存储(优化)到移动应用程序(Ionic、Cordova/Phonegap)的最佳方式

javascript - 通过javascript中的phonegap覆盖android设备的后退按钮