AsyncStorage setItem / getItem无法正常工作?

时间:2017-11-06 14:14:07

标签: javascript react-native asyncstorage

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



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

  }
}




提前致谢。

2 个答案:

答案 0 :(得分:2)

你的功能返回承诺。 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()

答案 1 :(得分:0)

// this is a one line comment in js /* this is a multi line comment in js */ 函数的返回值包含在promise中。在async内,您可以访问getItem作为标准对象,但item的调用者需要(1)是异步函数或(2)将返回值视为Promise