AsyncStorage setItem/getItem 不起作用



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

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) {
  }
}

提前谢谢。

你的函数返回承诺。 async/await只是一个句法糖。如果你想使用你的助手从AsyncStorage获取项目,你需要这样使用:

getItem('someKey')
  .then(val => console.log(val)
  .catch(err => console.log(err))

function async getItemAndDoSomething() {
  const item = await getItem('someKey')
  // do something with your item here
}
getItemAndDoSomething()

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

相关内容

  • 没有找到相关文章

最新更新