首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AsyncStorage setItem/getItem不工作?

AsyncStorage setItem/getItem不工作?
EN

Stack Overflow用户
提问于 2017-11-06 14:14:06
回答 2查看 1K关注 0票数 1

我使用AsyncStorage来存储和检索应用程序中的一些信息(如名称、电子邮件)。当我调用setItem时,它返回承诺"_45":0,"_65":0,"_55":null:"_75":null和getItem也返回相同的内容。如何在AsyncStorage中设置/获取值?我使用以下代码:

代码语言:javascript
复制
export async function setItem(key, value) {
  try {
    var data = await AsyncStorage.setItem(key, value);
  } catch (error) {

  }
}

export async function getItem(key) {
  try {
    var item = await AsyncStorage.getItem(key);
    if(item !== null) {
      return item;
    }
  } catch (error) {

  }
}

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-11-06 14:25:18

您的函数返回承诺。async/await只是一种语法糖。如果您想要使用您的助手从AsyncStorage获得项,则需要这样使用:

代码语言:javascript
复制
getItem('someKey')
  .then(val => console.log(val)
  .catch(err => console.log(err))

代码语言:javascript
复制
function async getItemAndDoSomething() {
  const item = await getItem('someKey')
  // do something with your item here
}

getItemAndDoSomething()
票数 2
EN

Stack Overflow用户

发布于 2017-11-06 14:26:05

async函数的返回值被包装在承诺中。在您的getItem中,您可以将item作为标准对象访问,但是getItem的调用者需要(1)是异步函数,或者(2)将返回值视为承诺。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47138924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档